|
Bitdefender Hypervisor Memory Introspection
|
#include "introtypes.h"Go to the source code of this file.
Functions | |
| INTSTATUS | IntSlackAlloc (QWORD ModuleBase, BOOLEAN Pageable, DWORD Size, QWORD *Buffer, QWORD SecHint) |
| Allocate slack inside the guest. More... | |
| INTSTATUS | IntSlackFree (QWORD Buffer) |
| Free slack space. More... | |
| void | IntSlackUninit (void) |
| Uninit the slack system. Must be called only during uninit. More... | |
| INTSTATUS IntSlackAlloc | ( | QWORD | ModuleBase, |
| BOOLEAN | Pageable, | ||
| DWORD | Size, | ||
| QWORD * | Buffer, | ||
| QWORD | SecHint | ||
| ) |
Allocate slack inside the guest.
Please see the description of the IntSlackAllocWindows function for Windows, and IntSlackAllocLinux for Linux. This function is just a wrapper for them.
| [in] | Pageable | If true, the slack space can be allocated inside a pageable section. |
| [in] | ModuleBase | The kernel module in which we wish to allocate slack space. |
| [in] | Size | Size to be allocated. |
| [out] | Buffer | Will contain, upon successful return, the guest virtual address of the allocated slack buffer inside the given module. |
| [in] | SecHint | Optional section hint - if provided (non-zero), slack will be allocated inside the given section (note that this is a section name, not index). |
| INT_STATUS_SUCCESS | On success. |
| INT_STATUS_INVALID_PARAMETER | If an invalid parameter is supplied. |
| INT_STATUS_INSUFFICIENT_RESOURCES | If a memory alloc fails or if enough slack space was not found inside the given module. |
Definition at line 437 of file slack.c.
Referenced by IntDetSetHook(), IntLixAgentAllocate(), IntMtblPatchInstruction(), IntSwapgsInstallHandler(), IntWinAgentInjectTrampoline(), and IntWinAgentSelectBootstrapAddress().
Free slack space.
Will free the given buffer allocated inside a loaded modules' slack space.
| [in] | Buffer | The allocate slack address. |
| INT_STATUS_SUCCESS | On success. |
| INT_STATUS_NOT_FOUND | If the given slack was not found among the valid allocations. |
| INT_STATUS_INVALID_PARAMETER | If an invalid parameter is used. |
Definition at line 499 of file slack.c.
Referenced by IntDetRemoveHandler(), IntLixAgentFree(), IntWinAgentInjectTrampoline(), and IntWinAgentReleaseBootstrapAddress().
| void IntSlackUninit | ( | void | ) |
Uninit the slack system. Must be called only during uninit.
Definition at line 536 of file slack.c.
Referenced by IntGuestUninit().