Bitdefender Hypervisor Memory Introspection
deployer.h File Reference
#include "introtypes.h"

Go to the source code of this file.

Functions

INTSTATUS IntDepInjectProcess (DWORD AgentTag, BYTE *AgentContent, DWORD AgentSize, const CHAR *Name, const CHAR *Args)
 Injects a process inside the guest. More...
 
INTSTATUS IntDepInjectFile (BYTE *FileContent, DWORD FileSize, const CHAR *Name)
 Inject a file inside the guest. More...
 
INTSTATUS IntDepRunCommand (const CHAR *CommandLine)
 Run a command inside the guest. More...
 

Function Documentation

◆ IntDepInjectFile()

INTSTATUS IntDepInjectFile ( BYTE FileContent,
DWORD  FileSize,
const CHAR Name 
)

Inject a file inside the guest.

Inject a file inside the guest. The file will be written inside the YSTEM% folder on Windows, and inside the root folder on Linux. If the file already exists, it will be overwritten, so take great care to avoid overwriting existing/system files!

Parameters
[in]FileContentThe file contents.
[in]FileSizeThe file size.
[in]NameThe file name.
Return values
INT_STATUS_SUCCESSOn success.
INT_STATUS_NOT_SUPPORTEDIf the OS is not recognized.

Definition at line 56 of file deployer.c.

Referenced by DbgInjectFileAgent(), and IntInjectFileAgentInGuest().

◆ IntDepInjectProcess()

INTSTATUS IntDepInjectProcess ( DWORD  AgentTag,
BYTE AgentContent,
DWORD  AgentSize,
const CHAR Name,
const CHAR Args 
)

Injects a process inside the guest.

This function will inject the provided content inside the guest and it will run it as a process. The provided content must represent a valid executable file.

Parameters
[in]AgentTagThe agent tag.
[in]AgentContentThe contents of the agent. Must be a valid executable. If NULL, Introcore will check if it has the contents itself. Normally, only the killer agent and log gather tool can be injected directly by Introcore, without providing the contents. Their tags are IG_AGENT_TAG_LOG_GATHER_TOOL and IG_AGENT_TAG_AGENT_KILLER_TOOL.
[in]AgentSizeThe size of the agent contents.
[in]NameAgent name.
[in]ArgsOptional arguments to be passed to the agent when starting it inside the guest.
Return values
INT_STATUS_SUCCESSOn success.
INT_STATUS_NOT_SUPPORTEDIf the guest OS is not recognized.

Definition at line 12 of file deployer.c.

Referenced by DbgInjectAgent(), and IntInjectProcessAgentInGuest().

◆ IntDepRunCommand()

INTSTATUS IntDepRunCommand ( const CHAR CommandLine)

Run a command inside the guest.

NOTE: This function can only be called for a Linux guest.

Parameters
[in]CommandLineThe command line to be executed.
Return values
INT_STATUS_SUCCESSOn success.
INT_STATUS_NOT_SUPPORTEDIf the guest is not Linux.

Definition at line 94 of file deployer.c.