45 _In_ void *CloakHandle,
70 _Out_ void **CloakHandle
75 _In_ void *CloakHandle,
83 _In_ void *CloakHandle,
91 _In_ void *CloakHandle,
105 _In_ const void *Cloak,
111 _In_ void *CloakHandle,
128 #endif // _MEMCLOAK_H_
QWORD Cr3
The CR3 for this process.
INTSTATUS(* PFUNC_IntMemCloakWriteHandle)(void *Hook, QWORD Address, QWORD RegionVirtualAddress, void *CloakHandle, INTRO_ACTION *Action)
The type of custom write handlers that can be used by cloak regions.
INTSTATUS IntMemClkModifyPatchedData(void *CloakHandle, DWORD Offset, DWORD Size, const void *Data)
Modifies the patched data inside the guest memory.
BOOLEAN IntMemClkIsPtrInCloak(const void *Cloak, QWORD Ptr)
Checks if a guest virtual address is located inside a cloak region.
int INTSTATUS
The status data type.
INTSTATUS IntMemClkUnInit(void)
Uninits the memory cloak subsystem.
Will write the contents of the patched data inside the guest.
Allows the code inside the region to modify the region.
INTSTATUS IntMemClkGetOriginalData(void *CloakHandle, BYTE **OriginalData, DWORD *Length)
Returns the original data of a cloaked region.
INTSTATUS IntMemClkModifyOriginalData(void *CloakHandle, DWORD Offset, DWORD Size, void *Data)
Modifies the internal copy of the original data buffer held by a cloak region.
INTSTATUS IntMemClkCloakRegion(QWORD VirtualAddress, QWORD Cr3, DWORD Size, DWORD Options, PBYTE OriginalData, PBYTE PatchedData, PFUNC_IntMemCloakWriteHandle WriteHandler, void **CloakHandle)
Hides a memory zone from the guest.
void IntMemClkDump(void)
Dumps all the active cloak regions.
enum _INTRO_ACTION INTRO_ACTION
Event actions.
INTSTATUS IntMemClkUncloakRegion(void *CloakHandle, DWORD Options)
Removes a cloak region, making the original memory contents available again to the guest...
INTSTATUS IntMemClkHashRegion(QWORD VirtualAddress, QWORD PhysicalAddress, DWORD Size, DWORD *Crc32)
Hashes the contents of a cloaked memory page.
MEMCLOAK_OPTIONS
Options that control the way a cloaked memory region is handled.