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

Go to the source code of this file.

Functions

INTSTATUS IntLixDepInjectFile (BYTE *Content, DWORD Size, const CHAR *Name)
 Injects an agent that deploy a file with the provided content and name on the disk. More...
 
INTSTATUS IntLixDepInjectProcess (DWORD AgentTag, BYTE *Content, DWORD Size, const char *Name, const char *Args)
 Injects an agent that deploy a file to the disk and creates a process that execute the deployed file. More...
 
INTSTATUS IntLixDepRunCommand (const CHAR *CommandLine)
 Injects an agent that creates a process that will execute the provided command line. More...
 

Function Documentation

◆ IntLixDepInjectFile()

INTSTATUS IntLixDepInjectFile ( BYTE Content,
DWORD  Size,
const CHAR Name 
)

Injects an agent that deploy a file with the provided content and name on the disk.

This function deploy the file to the root (/) directory. If there's another file with the same name, the existing file will be replaced.

Parameters
[in]ContentThe content of the file.
[in]SizeThe size of the content.
[in]NameThe name of the file.
Return values
INT_STATUS_SUCCESSOn success.
INT_STATUS_INVALID_PARAMETER_1If the content of the file is null.
INT_STATUS_INVALID_PARAMETER_2If the size of the file is 0.
INT_STATUS_INVALID_PARAMETER_3If the name of the file is null.
INT_STATUS_NOT_FOUNDIf the handler of the agent is not found.
INT_STATUS_ALREADY_INITIALIZED_HINTIf another agent is already running.

Definition at line 174 of file lixdeployer.c.

Referenced by IntDepInjectFile().

◆ IntLixDepInjectProcess()

INTSTATUS IntLixDepInjectProcess ( DWORD  AgentTag,
BYTE Content,
DWORD  Size,
const char *  Name,
const char *  Args 
)

Injects an agent that deploy a file to the disk and creates a process that execute the deployed file.

This function deploy the file to the root (/) directory. If there's another file with the same name, the existing file will be replaced. The deployed file is the first argument of the newly created process and the next arguments is provided by the caller, if any.

Parameters
[in]AgentTagThe tag used by the integrator.
[in]ContentThe content of the file.
[in]SizeThe size of the file.
[in]NameThe name of the file.
[in,out]ArgsThe arguments used by the created process.
Return values
INT_STATUS_SUCCESSOn success.
INT_STATUS_INVALID_PARAMETER_3If the name of the file is null.
INT_STATUS_NOT_FOUNDIf the handler of the agent is not found.
INT_STATUS_NOT_NEEDED_HINTIf the content of the file is empty and we decide that no agent should be deployed.
INT_STATUS_ALREADY_INITIALIZED_HINTIf another agent is already running.

Definition at line 337 of file lixdeployer.c.

Referenced by IntDepInjectProcess().

◆ IntLixDepRunCommand()

INTSTATUS IntLixDepRunCommand ( const CHAR CommandLine)

Injects an agent that creates a process that will execute the provided command line.

Parameters
[in]CommandLineThe command line to be executed.
Return values
INT_STATUS_SUCCESSOn success.
INT_STATUS_INVALID_PARAMETER_1If the command line is null.
INT_STATUS_NOT_FOUNDIf the handler of the agent is not found.
INT_STATUS_ALREADY_INITIALIZED_HINTIf another agent is already running.

Definition at line 266 of file lixdeployer.c.

Referenced by IntDepRunCommand().