14# define IMPORT_EXPORT_VMM __declspec(dllexport)
16# define IMPORT_EXPORT_VMM __declspec(dllimport)
25 unsigned long long OptionalParam1,
26 unsigned long long OptionalParam2,
27 unsigned long long OptionalParam3);
310 PVOID PhysicalAddress,
315 PVOID PhysicalAddress,
320 PVOID PhysicalAddress,
565 _Inout_ PVOID BufferToSaveMemory,
566 _In_ SIZE_T SizeToRead);
570 _Inout_
UINT64 BufferToSaveMemory,
571 _In_ SIZE_T SizeToRead);
575 _Inout_ PVOID BufferToSaveMemory,
576 _In_ SIZE_T SizeToRead);
593 _In_ SIZE_T SizeToWrite,
604 _In_ SIZE_T SizeToWrite);
609 _In_ SIZE_T SizeToWrite,
610 _In_
UINT32 TargetProcessId);
621 _Inout_ PVOID BaseAddress);
unsigned short UINT16
Definition BasicTypes.h:47
signed int INT32
Definition BasicTypes.h:44
UCHAR BOOLEAN
Definition BasicTypes.h:39
#define VOID
Definition BasicTypes.h:33
unsigned __int64 UINT64
Definition BasicTypes.h:21
unsigned int UINT32
Definition BasicTypes.h:48
char CHAR
Definition BasicTypes.h:31
enum _DEBUG_REGISTER_TYPE DEBUG_REGISTER_TYPE
enum _POOL_ALLOCATION_INTENTION POOL_ALLOCATION_INTENTION
Inum of intentions for buffers (buffer tag)
enum _PAGING_LEVEL PAGING_LEVEL
Different levels of paging.
UINT64 Address
Definition HyperDbgScriptImports.h:67
IMPORT_EXPORT_VMM UINT16 VmFuncGetCsSelector()
Read CS selector.
Definition Export.c:341
IMPORT_EXPORT_VMM VOID SetGuestLdtr(UINT64 Ldtr)
Set the Guest Ldtr.
Definition ManageRegs.c:320
IMPORT_EXPORT_VMM VOID BroadcastSetExternalInterruptExitingAllCores()
routines for !interrupt command which
Definition Broadcast.c:382
IMPORT_EXPORT_VMM VOID SetGuestRSP(UINT64 RSP)
Set the Guest RSP Register.
Definition ManageRegs.c:435
IMPORT_EXPORT_VMM UINT64 GetGuestCr4()
Get the Guest Cr4 value.
Definition ManageRegs.c:502
IMPORT_EXPORT_VMM VOID SetGuestSsSel(PVMX_SEGMENT_SELECTOR Ss)
Set just the Guest Ss selector.
Definition ManageRegs.c:68
IMPORT_EXPORT_VMM UINT64 GetGuestCr8()
Get the Guest Cr8 value.
Definition ManageRegs.c:516
IMPORT_EXPORT_VMM VOID ConfigureEnableRdpmcExitingOnSingleCore(UINT32 TargetCoreId)
enable RDPMC exiting on a single core
Definition Configuration.c:485
IMPORT_EXPORT_VMM VOID VmFuncUnsetExceptionBitmap(UINT32 CoreId, UINT32 IdtIndex)
Unset exception bitmap in VMCS.
Definition Export.c:267
IMPORT_EXPORT_VMM UINT32 VmFuncVmxCompatibleWcslen(const wchar_t *s)
VMX-root compatible strlen.
Definition Export.c:611
IMPORT_EXPORT_VMM VOID BroadcastEnableMovToCr3ExitingOnAllProcessors()
routines for debugging threads (enable mov-to-cr3 exiting)
Definition Broadcast.c:436
IMPORT_EXPORT_VMM UINT64 GetGuestIdtr()
Get the Guest Idtr.
Definition ManageRegs.c:304
IMPORT_EXPORT_VMM VOID BroadcastIoBitmapResetAllCores()
routines for reset !ioin and !ioout command
Definition Broadcast.c:422
IMPORT_EXPORT_VMM VOID ConfigureChangeIoBitmapOnSingleCore(UINT32 TargetCoreId, UINT64 Port)
change I/O port bitmap on a single core
Definition Configuration.c:568
IMPORT_EXPORT_VMM VOID ConfigureEnableMovToCr3ExitingOnAllProcessors()
routines for debugging threads (enable mov-to-cr3 exiting)
Definition Configuration.c:21
IMPORT_EXPORT_VMM BOOLEAN MemoryMapperSetSupervisorBitWithoutSwitchingByCr3(_In_ PVOID Va, _In_ BOOLEAN Set, _In_ PAGING_LEVEL Level, _In_ CR3_TYPE TargetCr3)
IMPORT_EXPORT_VMM UINT64 GetGuestDr1()
Get the Guest Dr1 value.
Definition ManageRegs.c:675
IMPORT_EXPORT_VMM VMX_SEGMENT_SELECTOR GetGuestEs()
Get the Guest Es Selector.
Definition ManageRegs.c:274
IMPORT_EXPORT_VMM VOID PoolManagerShowPreAllocatedPools()
Shows list of pre-allocated pools available (used for debugging purposes)
Definition PoolManager.c:177
IMPORT_EXPORT_VMM VOID VmFuncEnableAndCheckForPreviousExternalInterrupts(UINT32 CoreId)
Checks to enable and reinject previous interrupts.
Definition Export.c:812
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallResetMsrBitmapWrite(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for resetting MSR Bitmap Write
Definition DirectVmcall.c:388
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallTest(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for test direct VMCALL
Definition DirectVmcall.c:25
IMPORT_EXPORT_VMM VOID BroadcastEnableRdtscExitingAllCores()
a broadcast that causes vm-exit on all execution of rdtsc/rdtscp
Definition Broadcast.c:132
IMPORT_EXPORT_VMM VOID VmFuncUnRegisterMtfBreak(UINT32 CoreId)
Unregister for break in the case of an MTF.
Definition Export.c:86
IMPORT_EXPORT_VMM VMX_SEGMENT_SELECTOR GetGuestCs()
Get the Guest Cs Selector.
Definition ManageRegs.c:49
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallEnableExternalInterruptExiting(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for enabling external interrupt exiting
Definition DirectVmcall.c:198
IMPORT_EXPORT_VMM VOID SetGuestGdtr(UINT64 Gdtr)
Set the Guest Gdtr.
Definition ManageRegs.c:347
IMPORT_EXPORT_VMM VOID BroadcastResetChangeAllMsrBitmapReadAllCores()
routines for disable (reset) !msrread command
Definition Broadcast.c:173
IMPORT_EXPORT_VMM VOID VmFuncSetTriggerEventForVmcalls(BOOLEAN Set)
Set triggering events for VMCALLs.
Definition Export.c:575
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallUnsetExceptionBitmap(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for unsetting exception bitmap on VMCS
Definition DirectVmcall.c:312
IMPORT_EXPORT_VMM BOOLEAN MemoryMapperCheckIfPageIsNxBitSetOnTargetProcess(_In_ PVOID Va)
IMPORT_EXPORT_VMM VOID ConfigureSetEferSyscallOrSysretHookType(DEBUGGER_EVENT_SYSCALL_SYSRET_TYPE SyscallHookType)
routines for setting EFER syscall or sysret hooks type
Definition Configuration.c:439
IMPORT_EXPORT_VMM VOID VmFuncSetRflagTrapFlag(BOOLEAN Set)
Set Rflag's trap flag.
Definition Export.c:110
IMPORT_EXPORT_VMM CR3_TYPE SwitchToCurrentProcessMemoryLayout()
Switch to guest's running process's cr3.
Definition SwitchLayout.c:70
IMPORT_EXPORT_VMM BOOLEAN DisassemblerShowOneInstructionInVmxNonRootMode(PVOID Address, UINT64 ActualRip, BOOLEAN Is32Bit)
Disassembler show only one instruction.
Definition Disassembler.c:121
IMPORT_EXPORT_VMM NTSTATUS TransparentUnhideDebugger()
Deactivate transparent-mode.
Definition Transparency.c:425
IMPORT_EXPORT_VMM BOOLEAN CheckAccessValidityAndSafety(UINT64 TargetAddress, UINT32 Size)
Check the safety to access the memory.
Definition AddressCheck.c:156
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallDisableMov2DrExitingForClearingDrEvents(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for clearing mov 2 hw dr exiting bit ONLY in the case of disabling the events for !...
Definition DirectVmcall.c:504
IMPORT_EXPORT_VMM BOOLEAN SetDebugRegisters(UINT32 DebugRegNum, DEBUG_REGISTER_TYPE ActionType, BOOLEAN ApplyToVmcs, UINT64 TargetAddress)
Configure hardware debug register for access, write and fetch breakpoints.
Definition DebugRegisters.c:37
IMPORT_EXPORT_VMM VOID SwitchToPreviousProcess(_In_ CR3_TYPE PreviousProcess)
IMPORT_EXPORT_VMM VOID SetGuestDr6(UINT64 value)
Set the Guest Dr6 Register.
Definition ManageRegs.c:639
IMPORT_EXPORT_VMM VOID VmFuncSetRflags(UINT64 Rflags)
Set guest's RFLAGS.
Definition Export.c:364
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallPerformVmcall(UINT32 CoreId, UINT64 VmcallNumber, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for performing a direct VMCALL
Definition DirectVmcall.c:45
IMPORT_EXPORT_VMM VOID ConfigureEnableMovToDebugRegistersExitingOnSingleCore(UINT32 TargetCoreId)
enable mov 2 debug register exiting on a single core
Definition Configuration.c:498
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallUnhookSinglePage(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for restoring a single EPT entry and invalidating EPT cache
Definition DirectVmcall.c:331
IMPORT_EXPORT_VMM VOID VmFuncSetMonitorTrapFlag(BOOLEAN Set)
Set the monitor trap flag.
Definition Export.c:98
IMPORT_EXPORT_VMM UINT64 PhysicalAddressToVirtualAddressOnTargetProcess(_In_ PVOID PhysicalAddress)
IMPORT_EXPORT_VMM VOID VmFuncInvalidateEptSingleContext(UINT32 CoreId)
Requests for single-context EPT invalidation.
Definition Export.c:478
IMPORT_EXPORT_VMM VOID VmFuncSetMovDebugRegsExiting(UINT32 CoreId, BOOLEAN Set)
Set or unset the Mov to Debug Registers Exiting.
Definition Export.c:306
IMPORT_EXPORT_VMM UINT64 GetGuestGdtr()
Get the Guest Gdtr.
Definition ManageRegs.c:358
IMPORT_EXPORT_VMM VOID VmFuncVmxBroadcastUninitialize()
Export for uninitialize the VMX Broadcast mechanism.
Definition Export.c:708
IMPORT_EXPORT_VMM VOID SetGuestSs(PVMX_SEGMENT_SELECTOR Ss)
Set the Guest Ss selector.
Definition ManageRegs.c:80
IMPORT_EXPORT_VMM VOID VmFuncChangeIgnoreOneMtfState(UINT32 CoreId, BOOLEAN Set)
Change ignore one MTF state.
Definition Export.c:60
IMPORT_EXPORT_VMM BOOLEAN MemoryMapperReadMemorySafe(_In_ UINT64 VaAddressToRead, _Inout_ PVOID BufferToSaveMemory, _In_ SIZE_T SizeToRead)
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallEnableRdpmcExiting(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for enabling rdpmc exiting
Definition DirectVmcall.c:122
IMPORT_EXPORT_VMM UINT32 CheckAddressMaximumInstructionLength(PVOID Address)
This function returns the maximum instruction length that can be read from this address.
Definition AddressCheck.c:306
IMPORT_EXPORT_VMM PVOID MemoryMapperGetPteVaWithoutSwitchingByCr3(_In_ PVOID Va, _In_ PAGING_LEVEL Level, _In_ CR3_TYPE TargetCr3)
IMPORT_EXPORT_VMM BOOLEAN MemoryMapperCheckIfPdeIsLargePageOnTargetProcess(_In_ PVOID Va)
IMPORT_EXPORT_VMM VOID BroadcastEnableDbAndBpExitingAllCores()
routines to set vm-exit on all #DBs and #BP on all cores
Definition Broadcast.c:35
IMPORT_EXPORT_VMM VOID SetGuestCr3(UINT64 Cr3)
Set the Guest Cr3 Register.
Definition ManageRegs.c:555
IMPORT_EXPORT_VMM VOID VmFuncSuppressRipIncrement(UINT32 CoreId)
Suppress the incrementation of RIP.
Definition Export.c:34
IMPORT_EXPORT_VMM BOOLEAN MemoryMapperFreeMemoryOnTargetProcess(_In_ UINT32 ProcessId, _Inout_ PVOID BaseAddress)
IMPORT_EXPORT_VMM INT32 VmFuncVmxCompatibleWcscmp(const wchar_t *Address1, const wchar_t *Address2)
VMX-root compatible wcscmp.
Definition Export.c:759
IMPORT_EXPORT_VMM VOID SetGuestDr0(UINT64 value)
Set the Guest Dr0 Register.
Definition ManageRegs.c:591
IMPORT_EXPORT_VMM UINT64 GetGuestLdtr()
Get the Guest Ldtr.
Definition ManageRegs.c:331
IMPORT_EXPORT_VMM VOID VmFuncSetNmiWindowExiting(BOOLEAN Set)
Set NMI-window exiting.
Definition Export.c:227
IMPORT_EXPORT_VMM VOID BroadcastResetAllMsrBitmapWriteAllCores()
routines for reset !msrwrite command which
Definition Broadcast.c:200
IMPORT_EXPORT_VMM VOID VmFuncEnableMtfAndChangeExternalInterruptState(UINT32 CoreId)
Enables MTF and adjust external interrupt state.
Definition Export.c:799
IMPORT_EXPORT_VMM VOID ConfigureModeBasedExecHookUninitializeOnAllProcessors()
routines for initializing Mode-based execution hooks
Definition Configuration.c:83
IMPORT_EXPORT_VMM VOID VmFuncSetPmcVmexit(BOOLEAN Set)
Set vm-exit for rdpmc instructions.
Definition Export.c:147
IMPORT_EXPORT_VMM VOID BroadcastEnableRdpmcExitingAllCores()
routines for !pmc
Definition Broadcast.c:254
IMPORT_EXPORT_VMM VOID BroadcastEnableMovDebugRegistersExitingAllCores()
routines for !dr
Definition Broadcast.c:355
IMPORT_EXPORT_VMM UINT64 VmFuncGetRflags()
Read guest's RFLAGS.
Definition Export.c:352
IMPORT_EXPORT_VMM VOID SetGuestCr8(UINT64 Cr8)
Set the Guest Cr8 Register.
Definition ManageRegs.c:579
IMPORT_EXPORT_VMM PVOID MemoryMapperGetPteVaOnTargetProcess(_In_ PVOID Va, _In_ PAGING_LEVEL Level)
IMPORT_EXPORT_VMM UINT32 DisassemblerShowOneInstructionInVmxRootMode(PVOID Address, BOOLEAN Is32Bit)
Shows the disassembly of only one instruction.
Definition Disassembler.c:328
IMPORT_EXPORT_VMM NTSTATUS TransparentHideDebugger(PDEBUGGER_HIDE_AND_TRANSPARENT_DEBUGGER_MODE Measurements)
Hide debugger on transparent-mode (activate transparent-mode)
Definition Transparency.c:356
IMPORT_EXPORT_VMM VOID ConfigureDisableEferSyscallEventsOnAllProcessors()
routines for disabling syscall hooks on all cores
Definition Configuration.c:143
IMPORT_EXPORT_VMM VOID SetGuestDr1(UINT64 value)
Set the Guest Dr1 Register.
Definition ManageRegs.c:603
IMPORT_EXPORT_VMM UINT64 VirtualAddressToPhysicalAddressOnTargetProcess(_In_ PVOID VirtualAddress)
IMPORT_EXPORT_VMM VOID VmFuncChangeMtfUnsettingState(UINT32 CoreId, BOOLEAN Set)
Suppress unsetting MTF.
Definition Export.c:47
IMPORT_EXPORT_VMM VOID VmFuncSetInterruptibilityState(UINT64 InterruptibilityState)
Set guest's interruptibility state.
Definition Export.c:421
IMPORT_EXPORT_VMM VOID BroadcastIoBitmapChangeAllCores(UINT64 Port)
routines for !ioin and !ioout command which
Definition Broadcast.c:409
IMPORT_EXPORT_VMM VOID SetGuestTr(UINT64 Tr)
Definition ManageRegs.c:372
IMPORT_EXPORT_VMM VOID ConfigureDisableMovToCr3ExitingOnAllProcessors()
routines for debugging threads (disable mov-to-cr3 exiting)
Definition Configuration.c:116
IMPORT_EXPORT_VMM BOOLEAN MemoryMapperWriteMemorySafeOnTargetProcess(_Inout_ UINT64 Destination, _In_ PVOID Source, _In_ SIZE_T Size)
IMPORT_EXPORT_VMM VOID BroadcastChangeAllMsrBitmapReadAllCores(UINT64 BitmapMask)
routines for !msrread command which
Definition Broadcast.c:160
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallDisableRdtscExitingForClearingTscEvents(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for clearing rdtsc exiting bit ONLY in the case of disabling the events for !...
Definition DirectVmcall.c:446
IMPORT_EXPORT_VMM VOID ConfigureUninitializeExecTrapOnAllProcessors()
routines for uninitializing user-mode, kernel-mode exec trap
Definition Configuration.c:48
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallDisableEferSyscallEvents(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for disabling syscall hook using EFER SCE bit
Definition DirectVmcall.c:484
IMPORT_EXPORT_VMM PVOID MemoryMapperGetPteVa(_In_ PVOID Va, _In_ PAGING_LEVEL Level)
IMPORT_EXPORT_VMM VOID VmFuncSetRip(UINT64 Rip)
Set guest's RIP.
Definition Export.c:387
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallChangeMsrBitmapRead(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for changing MSR Bitmap (Read)
Definition DirectVmcall.c:65
IMPORT_EXPORT_VMM BOOLEAN ConfigureEptHookUnHookSingleAddressFromVmxRoot(UINT64 VirtualAddress, UINT64 PhysAddress, EPT_SINGLE_HOOK_UNHOOKING_DETAILS *TargetUnhookingDetails)
Remove single hook from the hooked pages list and invalidate TLB.
Definition Configuration.c:209
IMPORT_EXPORT_VMM VOID ConfigureChangeMsrBitmapReadOnSingleCore(UINT32 TargetCoreId, UINT64 MsrMask)
change the mask of msr bitmaps for read on a single core
Definition Configuration.c:554
IMPORT_EXPORT_VMM VOID VmFuncSetMovToCr3Vmexit(UINT32 CoreId, BOOLEAN Set)
Set vm-exit for mov-to-cr3.
Definition Export.c:177
IMPORT_EXPORT_VMM VOID BroadcastDisableMovToCr3ExitingOnAllProcessors()
routines for debugging threads (disable mov-to-cr3 exiting)
Definition Broadcast.c:491
IMPORT_EXPORT_VMM UINT64 GetGuestDr2()
Get the Guest Dr2 value.
Definition ManageRegs.c:688
IMPORT_EXPORT_VMM BOOLEAN ConfigureEptHookModifyPageWriteState(UINT32 CoreId, PVOID PhysicalAddress, BOOLEAN IsUnset)
Change PML EPT state for write @detail should be called from VMX-root.
Definition Configuration.c:411
IMPORT_EXPORT_VMM VOID VmFuncRegisterMtfBreak(UINT32 CoreId)
Register for break in the case of an MTF.
Definition Export.c:73
IMPORT_EXPORT_VMM BOOLEAN MemoryManagerReadProcessMemoryNormal(HANDLE PID, PVOID Address, DEBUGGER_READ_MEMORY_TYPE MemType, PVOID UserBuffer, SIZE_T Size, PSIZE_T ReturnSize)
Read process memory.
Definition MemoryManager.c:29
IMPORT_EXPORT_VMM VMX_SEGMENT_SELECTOR GetGuestDs()
Get the Guest Ds Selector.
Definition ManageRegs.c:139
IMPORT_EXPORT_VMM VOID VmFuncWriteExceptionBitmap(UINT32 BitmapMask)
Write on exception bitmap in VMCS DO NOT CALL IT DIRECTLY, instead use HvSetExceptionBitmap.
Definition Export.c:191
IMPORT_EXPORT_VMM VOID BroadcastEnableEferSyscallEventsOnAllProcessors()
routines for enabling syscall hooks on all cores
Definition Broadcast.c:502
IMPORT_EXPORT_VMM VOID BroadcastDisableMov2DebugRegsExitingForClearingEventsAllCores()
routines ONLY for disabling !dr command
Definition Broadcast.c:240
IMPORT_EXPORT_VMM VOID BroadcastUnsetExceptionBitmapAllCores(UINT64 ExceptionIndex)
routines for disabling exception bitmap
Definition Broadcast.c:299
IMPORT_EXPORT_VMM VOID BroadcastEnableBreakpointExitingOnExceptionBitmapAllCores()
routines to enable vm-exit for breakpoints (exception bitmap)
Definition Broadcast.c:63
IMPORT_EXPORT_VMM UINT64 GetGuestDr3()
Get the Guest Dr3 value.
Definition ManageRegs.c:701
IMPORT_EXPORT_VMM BOOLEAN ConfigureExecTrapAddProcessToWatchingList(UINT32 ProcessId)
Add the target process to the watching list.
Definition Configuration.c:60
IMPORT_EXPORT_VMM UINT64 GetGuestRFlags()
Get the Guest Rflags value.
Definition ManageRegs.c:409
IMPORT_EXPORT_VMM BOOLEAN VmFuncVmxGetCurrentExecutionMode()
Get the current VMX operation state.
Definition Export.c:552
IMPORT_EXPORT_VMM VOID SetGuestDsSel(PVMX_SEGMENT_SELECTOR Ds)
Set just the Guest Ds selector.
Definition ManageRegs.c:113
IMPORT_EXPORT_VMM VOID SetGuestEsSel(PVMX_SEGMENT_SELECTOR Es)
Set just the Guest Es selector.
Definition ManageRegs.c:248
IMPORT_EXPORT_VMM VOID ConfigureDirtyLoggingUninitializeOnAllProcessors()
routines for uninitializing dirty logging mechanism
Definition Configuration.c:105
IMPORT_EXPORT_VMM BOOLEAN MemoryMapperWriteMemorySafe(_Inout_ UINT64 Destination, _In_ PVOID Source, _In_ SIZE_T SizeToWrite, _In_ CR3_TYPE TargetProcessCr3)
IMPORT_EXPORT_VMM BOOLEAN ConfigureEptHook2(UINT32 CoreId, PVOID TargetAddress, PVOID HookFunction, UINT32 ProcessId)
This function allocates a buffer in VMX Non Root Mode and then invokes a VMCALL to set the hook (inli...
Definition Configuration.c:295
IMPORT_EXPORT_VMM VOID BroadcastDisableMovDebugRegistersExitingAllCores()
routines for disabling !dr
Definition Broadcast.c:368
IMPORT_EXPORT_VMM VMX_SEGMENT_SELECTOR GetGuestSs()
Get the Guest Ss Selector.
Definition ManageRegs.c:94
IMPORT_EXPORT_VMM UINT64 VmFuncGetInterruptibilityState()
Read guest's interruptibility state.
Definition Export.c:398
IMPORT_EXPORT_VMM UINT64 GetGuestRIP()
Get the Guest RIP value.
Definition ManageRegs.c:446
IMPORT_EXPORT_VMM BOOLEAN VmFuncInitVmm(VMM_CALLBACKS *VmmCallbacks)
Initializes hypervisor.
Definition Export.c:530
IMPORT_EXPORT_VMM BOOLEAN DisassemblerShowInstructionsInVmxNonRootMode(PVOID Address, UINT32 Length, BOOLEAN Is32Bit)
Disassembler show the instructions.
Definition Disassembler.c:26
IMPORT_EXPORT_VMM VOID SetGuestCr0(UINT64 Cr0)
Set the Guest Cr0 Register.
Definition ManageRegs.c:531
IMPORT_EXPORT_VMM VMX_SEGMENT_SELECTOR GetGuestGs()
Get the Guest Gs Selector.
Definition ManageRegs.c:229
IMPORT_EXPORT_VMM CR3_TYPE SwitchToProcessMemoryLayout(_In_ UINT32 ProcessId)
IMPORT_EXPORT_VMM UINT32 VmFuncReadExceptionBitmap()
Read exception bitmap in VMCS.
Definition Export.c:203
IMPORT_EXPORT_VMM UINT64 PhysicalAddressToVirtualAddress(_In_ UINT64 PhysicalAddress)
IMPORT_EXPORT_VMM UINT64 PoolManagerRequestPool(POOL_ALLOCATION_INTENTION Intention, BOOLEAN RequestNewPool, UINT32 Size)
This function should be called from vmx-root in order to get a pool from the list.
Definition PoolManager.c:212
IMPORT_EXPORT_VMM UINT64 GetGuestCr0()
Get the Guest Cr0 value.
Definition ManageRegs.c:460
IMPORT_EXPORT_VMM BOOLEAN ConfigureEptHookMonitorFromVmxRoot(UINT32 CoreId, EPT_HOOKS_ADDRESS_DETAILS_FOR_MEMORY_MONITOR *MemoryAddressDetails)
This function allocates a buffer in VMX Non Root Mode and then invokes a VMCALL to set the hook.
Definition Configuration.c:358
IMPORT_EXPORT_VMM INT32 VmFuncVmxCompatibleStrncmp(const CHAR *Address1, const CHAR *Address2, SIZE_T Num)
VMX-root compatible strncmp.
Definition Export.c:746
IMPORT_EXPORT_VMM VOID SetGuestCr2(UINT64 Cr2)
Set the Guest Cr2 Register.
Definition ManageRegs.c:543
IMPORT_EXPORT_VMM VOID SetGuestGsSel(PVMX_SEGMENT_SELECTOR Gs)
Set just the Guest Gs selector.
Definition ManageRegs.c:203
#define IMPORT_EXPORT_VMM
Definition HyperDbgVmmImports.h:16
IMPORT_EXPORT_VMM VOID VmFuncEventInjectPageFaultRangeAddress(UINT32 CoreId, UINT64 AddressFrom, UINT64 AddressTo, UINT32 PageFaultCode)
Inject a range of page-faults.
Definition Export.c:643
IMPORT_EXPORT_VMM VOID SetGuestDr2(UINT64 value)
Set the Guest Dr2 Register.
Definition ManageRegs.c:615
IMPORT_EXPORT_VMM BOOLEAN ConfigureEptHookFromVmxRoot(PVOID TargetAddress)
This function invokes a direct VMCALL to setup the hook.
Definition Configuration.c:278
IMPORT_EXPORT_VMM UINT64 VmFuncClearSteppingBits(UINT64 Interruptibility)
Clear STI and MOV SS bits.
Definition Export.c:409
IMPORT_EXPORT_VMM VOID ConfigureSetExceptionBitmapOnSingleCore(UINT32 TargetCoreId, UINT32 BitMask)
set exception bitmap on a single core
Definition Configuration.c:512
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallInvalidateEptAllContexts(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for invalidating EPT (All Contexts)
Definition DirectVmcall.c:274
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallResetIoBitmap(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for resetting I/O Bitmaps (A & B)
Definition DirectVmcall.c:426
IMPORT_EXPORT_VMM VOID ConfigureSetExternalInterruptExitingOnSingleCore(UINT32 TargetCoreId)
set external interrupt exiting on a single core
Definition Configuration.c:459
IMPORT_EXPORT_VMM BOOLEAN ConfigureEptHookMonitor(UINT32 CoreId, EPT_HOOKS_ADDRESS_DETAILS_FOR_MEMORY_MONITOR *HookingDetails, UINT32 ProcessId)
This function allocates a buffer in VMX Non Root Mode and then invokes a VMCALL to set the hook.
Definition Configuration.c:318
IMPORT_EXPORT_VMM VOID SetGuestCsSel(PVMX_SEGMENT_SELECTOR Cs)
Set just the Guest Cs selector.
Definition ManageRegs.c:22
IMPORT_EXPORT_VMM VOID BroadcastDisableBreakpointExitingOnExceptionBitmapAllCores()
routines to disable vm-exit for breakpoints (exception bitmap)
Definition Broadcast.c:77
IMPORT_EXPORT_VMM VOID BroadcastDisableDbAndBpExitingAllCores()
routines to unset vm-exit on all #DBs and #BP on all cores
Definition Broadcast.c:49
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallResetExceptionBitmapOnlyOnClearingExceptionEvents(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for resetting exception bitmap on VMCS
Definition DirectVmcall.c:407
IMPORT_EXPORT_VMM BOOLEAN PoolManagerFreePool(UINT64 AddressToFree)
This function set a pool flag to be freed, and it will be freed on the next IOCTL when it's safe to r...
Definition PoolManager.c:136
IMPORT_EXPORT_VMM UINT64 MemoryMapperReserveUsermodeAddressOnTargetProcess(_In_ UINT32 ProcessId, _In_ BOOLEAN Allocate)
IMPORT_EXPORT_VMM VOID SetGuestRIP(UINT64 RIP)
Set the Guest RIP Register.
Definition ManageRegs.c:423
IMPORT_EXPORT_VMM INT32 VmFuncVmxCompatibleMemcmp(const CHAR *Address1, const CHAR *Address2, size_t Count)
VMX-root compatible memcmp.
Definition Export.c:787
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallEnableRdtscpExiting(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for enabling rdtsc/rdtscp exiting
Definition DirectVmcall.c:141
IMPORT_EXPORT_VMM VOID ConfigureEnableMovToControlRegisterExitingOnSingleCore(UINT32 TargetCoreId, DEBUGGER_EVENT_OPTIONS *BroadcastingOption)
enable mov 2 control register on a single core
Definition Configuration.c:526
IMPORT_EXPORT_VMM VOID SetGuestDr7(UINT64 value)
Set the Guest Dr7 Register.
Definition ManageRegs.c:651
IMPORT_EXPORT_VMM VOID VmFuncSetLoadDebugControls(BOOLEAN Set)
Set LOAD DEBUG CONTROLS on Vm-entry controls.
Definition Export.c:122
IMPORT_EXPORT_VMM BOOLEAN MemoryMapperWriteMemoryUnsafe(_Inout_ UINT64 Destination, _In_ PVOID Source, _In_ SIZE_T SizeToWrite, _In_ UINT32 TargetProcessId)
IMPORT_EXPORT_VMM UINT64 VirtualAddressToPhysicalAddress(_In_ PVOID VirtualAddress)
Converts Virtual Address to Physical Address.
Definition Conversion.c:154
IMPORT_EXPORT_VMM VOID BroadcastUnsetExternalInterruptExitingOnlyOnClearingInterruptEventsAllCores()
routines for ONLY terminate !interrupt command
Definition Broadcast.c:395
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallDisableRdpmcExiting(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for disabling rdpmc exiting in primary cpu-based controls
Definition DirectVmcall.c:465
IMPORT_EXPORT_VMM VOID BroadcastSetExceptionBitmapAllCores(UINT64 ExceptionIndex)
routines for !exception command which
Definition Broadcast.c:283
IMPORT_EXPORT_VMM BOOLEAN ConfigureEptHookUnHookSingleAddress(UINT64 VirtualAddress, UINT64 PhysAddress, UINT32 ProcessId)
Remove single hook from the hooked pages list and invalidate TLB.
Definition Configuration.c:188
IMPORT_EXPORT_VMM BOOLEAN VmFuncNmiBroadcastInvalidateEptAllContexts(UINT32 CoreId)
Broadcast NMI requests for all contexts EPT invalidation.
Definition Export.c:463
IMPORT_EXPORT_VMM VOID ConfigureEnableRdtscExitingOnSingleCore(UINT32 TargetCoreId)
enable RDTSC exiting on a single core
Definition Configuration.c:472
IMPORT_EXPORT_VMM BOOLEAN ConfigureEptHook(PVOID TargetAddress, UINT32 ProcessId)
This function invokes a VMCALL to set the hook and broadcast the exiting for the breakpoints on excep...
Definition Configuration.c:261
IMPORT_EXPORT_VMM VOID BroadcastDisableMovToControlRegistersExitingAllCores(PDEBUGGER_EVENT_OPTIONS BroadcastingOption)
routines for disabling !crwrite
Definition Broadcast.c:341
IMPORT_EXPORT_VMM UINT64 VirtualAddressToPhysicalAddressByProcessCr3(_In_ PVOID VirtualAddress, _In_ CR3_TYPE TargetCr3)
IMPORT_EXPORT_VMM BOOLEAN MemoryMapperWriteMemorySafeByPhysicalAddress(_Inout_ UINT64 DestinationPa, _In_ UINT64 Source, _In_ SIZE_T SizeToWrite)
IMPORT_EXPORT_VMM CR3_TYPE LayoutGetExactGuestProcessCr3()
Get cr3 of the target running process.
Definition Layout.c:75
IMPORT_EXPORT_VMM VOID VmFuncEventInjectBreakpoint()
Inject #BP to the guest (Event Injection)
Definition Export.c:719
IMPORT_EXPORT_VMM VOID ConfigureEnableEferSyscallHookOnSingleCore(UINT32 TargetCoreId)
routines for enabling EFER syscall hooks on a single core
Definition Configuration.c:426
IMPORT_EXPORT_VMM BOOLEAN ConfigureEptHookModifyPageReadState(UINT32 CoreId, PVOID PhysicalAddress, BOOLEAN IsUnset)
Change PML EPT state for read @detail should be called from VMX-root.
Definition Configuration.c:393
IMPORT_EXPORT_VMM VOID SetGuestCr4(UINT64 Cr4)
Set the Guest Cr4 Register.
Definition ManageRegs.c:567
IMPORT_EXPORT_VMM BOOLEAN VmFuncNmiBroadcastInvalidateEptSingleContext(UINT32 CoreId)
Broadcast NMI requests for single-context EPT invalidation.
Definition Export.c:448
IMPORT_EXPORT_VMM VOID VmFuncSetMovControlRegsExiting(BOOLEAN Set, UINT64 ControlRegister, UINT64 MaskRegister)
Set vm-exit for mov-to-cr0/4.
Definition Export.c:162
IMPORT_EXPORT_VMM VOID VmFuncEventInjectInterruption(UINT32 InterruptionType, UINT32 Vector, BOOLEAN DeliverErrorCode, UINT32 ErrorCode)
Inject interrupt/faults/exceptions.
Definition Export.c:662
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallDisableMov2CrExitingForClearingCrEvents(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for clearing mov 2 cr exiting bit ONLY in the case of disabling the events for !...
Definition DirectVmcall.c:524
IMPORT_EXPORT_VMM VOID BroadcastDisableMov2ControlRegsExitingForClearingEventsAllCores(PDEBUGGER_EVENT_OPTIONS BroadcastingOption)
routines ONLY for disabling !crwrite command
Definition Broadcast.c:227
IMPORT_EXPORT_VMM UINT64 GetGuestCr3()
Get the Guest Cr3 value.
Definition ManageRegs.c:488
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallSetHiddenBreakpointHook(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for putting hidden breakpoints (using EPT)
Definition DirectVmcall.c:255
IMPORT_EXPORT_VMM BOOLEAN CheckAddressValidityUsingTsx(CHAR *Address)
This function checks whether the address is valid or not using Intel TSX.
Definition AddressCheck.c:24
IMPORT_EXPORT_VMM VOID BroadcastChangeAllMsrBitmapWriteAllCores(UINT64 BitmapMask)
routines for !msrwrite command which
Definition Broadcast.c:187
IMPORT_EXPORT_VMM VOID VmFuncCheckAndEnableExternalInterrupts(UINT32 CoreId)
Check and enable external interrupts.
Definition Export.c:505
IMPORT_EXPORT_VMM VOID SetGuestCs(PVMX_SEGMENT_SELECTOR Cs)
Set the Guest Cs.
Definition ManageRegs.c:35
IMPORT_EXPORT_VMM VOID VmFuncSetTriggerEventForCpuids(BOOLEAN Set)
Set triggering events for CPUIDs.
Definition Export.c:587
IMPORT_EXPORT_VMM VOID SetGuestFsSel(PVMX_SEGMENT_SELECTOR Fs)
Set just the Guest Fs selector.
Definition ManageRegs.c:158
IMPORT_EXPORT_VMM VOID VmFuncSetSaveDebugControls(BOOLEAN Set)
Set SAVE DEBUG CONTROLS on Vm-exit controls.
Definition Export.c:134
IMPORT_EXPORT_VMM VOID BroadcastResetExceptionBitmapAllCores()
routines for reset !exception command
Definition Broadcast.c:312
IMPORT_EXPORT_VMM UINT64 PhysicalAddressToVirtualAddressByCr3(_In_ PVOID PhysicalAddress, _In_ CR3_TYPE TargetCr3)
IMPORT_EXPORT_VMM VOID VmFuncVmxBroadcastInitialize()
Export for initialize the VMX Broadcast mechanism.
Definition Export.c:697
IMPORT_EXPORT_VMM BOOLEAN VmFuncNmiBroadcastRequest(UINT32 CoreId)
Broadcast NMI requests.
Definition Export.c:433
IMPORT_EXPORT_VMM UINT32 DisassemblerLengthDisassembleEngineInVmxRootOnTargetProcess(PVOID Address, BOOLEAN Is32Bit)
Disassembler length disassembler engine.
Definition Disassembler.c:297
IMPORT_EXPORT_VMM VOID VmFuncInjectPendingExternalInterrupts(UINT32 CoreId)
Inject pending external interrupts.
Definition Export.c:330
IMPORT_EXPORT_VMM PVOID MemoryMapperGetPteVaByCr3(_In_ PVOID Va, _In_ PAGING_LEVEL Level, _In_ CR3_TYPE TargetCr3)
IMPORT_EXPORT_VMM VOID SetGuestDs(PVMX_SEGMENT_SELECTOR Ds)
Set the Guest Ds selector.
Definition ManageRegs.c:125
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallEnableMov2DebugRegsExiting(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for enabling mov to debug registers exiting
Definition DirectVmcall.c:160
IMPORT_EXPORT_VMM BOOLEAN CheckAddressPhysical(UINT64 PAddr)
Checks if the physical address is correct or not based on physical address width.
Definition AddressCheck.c:120
IMPORT_EXPORT_VMM UINT64 GetGuestTr()
Get the Guest Tr.
Definition ManageRegs.c:383
IMPORT_EXPORT_VMM BOOLEAN ConfigureExecTrapRemoveProcessFromWatchingList(UINT32 ProcessId)
Remove the target process from the watching list.
Definition Configuration.c:72
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallResetMsrBitmapRead(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for resetting MSR Bitmap Read
Definition DirectVmcall.c:369
IMPORT_EXPORT_VMM BOOLEAN MemoryMapperReadMemorySafeByPhysicalAddress(_In_ UINT64 PaAddressToRead, _Inout_ UINT64 BufferToSaveMemory, _In_ SIZE_T SizeToRead)
IMPORT_EXPORT_VMM UINT64 GetGuestDr7()
Get the Guest Dr7 (breakpoint trigger) value.
Definition ManageRegs.c:727
IMPORT_EXPORT_VMM VOID SetGuestDr3(UINT64 value)
Set the Guest Dr3 Register.
Definition ManageRegs.c:627
IMPORT_EXPORT_VMM PVOID MemoryMapperSetExecuteDisableToPteOnTargetProcess(_In_ PVOID Va, _In_ BOOLEAN Set)
IMPORT_EXPORT_VMM VOID BroadcastDisableRdtscExitingForClearingEventsAllCores()
routines ONLY for disabling !tsc command
Definition Broadcast.c:213
IMPORT_EXPORT_VMM UINT32 VmFuncVmxCompatibleStrlen(const CHAR *s)
VMX-root compatible strlen.
Definition Export.c:599
IMPORT_EXPORT_VMM VOID SetGuestFs(PVMX_SEGMENT_SELECTOR Fs)
Set the Guest Fs selector.
Definition ManageRegs.c:170
IMPORT_EXPORT_VMM BOOLEAN ConfigureEptHookModifyInstructionFetchState(UINT32 CoreId, PVOID PhysicalAddress, BOOLEAN IsUnset)
Change PML EPT state for execution (execute) @detail should be called from VMX-root.
Definition Configuration.c:375
IMPORT_EXPORT_VMM UINT64 VmFuncGetLastVmexitRip(UINT32 CoreId)
get the last vm-exit RIP
Definition Export.c:318
IMPORT_EXPORT_VMM CR3_TYPE SwitchToProcessMemoryLayoutByCr3(_In_ CR3_TYPE TargetCr3)
IMPORT_EXPORT_VMM UINT64 GetGuestDr0()
Get the Guest Dr0 value.
Definition ManageRegs.c:662
IMPORT_EXPORT_VMM BOOLEAN VmFuncQueryModeExecTrap()
Get the current state of mode exec trap mechanism.
Definition Export.c:563
IMPORT_EXPORT_VMM VOID SetGuestRFlags(UINT64 RFlags)
Set the Guest RFLAGS Register.
Definition ManageRegs.c:398
IMPORT_EXPORT_VMM BOOLEAN ConfigureEptHook2FromVmxRoot(UINT32 CoreId, PVOID TargetAddress, PVOID HookFunction)
This function allocates a buffer in VMX Non Root Mode and then invokes a VMCALL to set the hook (inli...
Definition Configuration.c:338
IMPORT_EXPORT_VMM VOID VmFuncSetNmiExiting(BOOLEAN Set)
Set the NMI Exiting.
Definition Export.c:239
IMPORT_EXPORT_VMM UINT64 VirtualAddressToPhysicalAddressByProcessId(_In_ PVOID VirtualAddress, _In_ UINT32 ProcessId)
IMPORT_EXPORT_VMM VOID VmFuncInvalidateEptAllContexts()
Requests for all contexts EPT invalidation.
Definition Export.c:489
IMPORT_EXPORT_VMM VOID VmFuncSetInterruptWindowExiting(BOOLEAN Set)
Set Interrupt-window exiting.
Definition Export.c:215
IMPORT_EXPORT_VMM BOOLEAN MemoryMapperCheckPteIsPresentOnTargetProcess(PVOID Va, PAGING_LEVEL Level)
This function checks whether the virtual address is present in the RAM or not.
Definition MemoryMapper.c:174
IMPORT_EXPORT_VMM BOOLEAN MemoryMapperReadMemorySafeOnTargetProcess(_In_ UINT64 VaAddressToRead, _Inout_ PVOID BufferToSaveMemory, _In_ SIZE_T SizeToRead)
IMPORT_EXPORT_VMM CR3_TYPE LayoutGetCurrentProcessCr3()
Get cr3 of the target running process.
Definition Layout.c:55
IMPORT_EXPORT_VMM VOID BroadcastEnableMovControlRegisterExitingAllCores(PDEBUGGER_EVENT_OPTIONS BroadcastingOption)
routines for !crwrite
Definition Broadcast.c:327
IMPORT_EXPORT_VMM VOID ConfigureChangeMsrBitmapWriteOnSingleCore(UINT32 TargetCoreId, UINT64 MsrMask)
change the mask of msr bitmaps for write on a single core
Definition Configuration.c:540
IMPORT_EXPORT_VMM VOID VmFuncUninitVmm()
Uninitialize Terminate Vmx on all logical cores.
Definition Export.c:541
IMPORT_EXPORT_VMM BOOLEAN ConfigureInitializeExecTrapOnAllProcessors()
routines for initializing user-mode, kernel-mode exec trap
Definition Configuration.c:37
IMPORT_EXPORT_VMM UINT64 VmFuncGetRip()
Read guest's RIP.
Definition Export.c:375
IMPORT_EXPORT_VMM BOOLEAN ConfigureEptHookUnHookAllByHookingTag(UINT64 HookingTag)
Remove all hooks from the hooked pages list using Hooking Tag.
Definition Configuration.c:157
IMPORT_EXPORT_VMM VOID BroadcastDisableRdtscExitingAllCores()
a broadcast that causes for disabling rdtsc/p exiting
Definition Broadcast.c:145
IMPORT_EXPORT_VMM UINT64 PhysicalAddressToVirtualAddressByProcessId(_In_ PVOID PhysicalAddress, _In_ UINT32 ProcessId)
IMPORT_EXPORT_VMM INT32 VmFuncVmxCompatibleWcsncmp(const wchar_t *Address1, const wchar_t *Address2, SIZE_T Num)
VMX-root compatible wcsncmp.
Definition Export.c:773
IMPORT_EXPORT_VMM VOID VmFuncSetExceptionBitmap(UINT32 CoreId, UINT32 IdtIndex)
Set exception bitmap in VMCS.
Definition Export.c:253
IMPORT_EXPORT_VMM BOOLEAN PoolManagerRequestAllocation(SIZE_T Size, UINT32 Count, POOL_ALLOCATION_INTENTION Intention)
Request to allocate new buffers.
Definition PoolManager.c:415
IMPORT_EXPORT_VMM VOID BroadcastDisableEferSyscallEventsOnAllProcessors()
routines for disabling syscall hooks on all cores
Definition Broadcast.c:513
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallSetExceptionBitmap(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for setting exception bitmap
Definition DirectVmcall.c:179
IMPORT_EXPORT_VMM UINT64 GetGuestCr2()
Get the Guest Cr2 value.
Definition ManageRegs.c:474
IMPORT_EXPORT_VMM BOOLEAN PoolManagerCheckAndPerformAllocationAndDeallocation()
This function performs allocations from VMX non-root based on g_RequestNewAllocation.
Definition PoolManager.c:302
IMPORT_EXPORT_VMM INT32 VmFuncVmxCompatibleStrcmp(const CHAR *Address1, const CHAR *Address2)
VMX-root compatible strcmp.
Definition Export.c:732
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallChangeMsrBitmapWrite(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for changing MSR Bitmap (Write)
Definition DirectVmcall.c:84
IMPORT_EXPORT_VMM VOID SetGuestGs(PVMX_SEGMENT_SELECTOR Gs)
Set the Guest Gs selector.
Definition ManageRegs.c:215
IMPORT_EXPORT_VMM VOID VmFuncSetRdtscExiting(UINT32 CoreId, BOOLEAN Set)
Set the RDTSC/P Exiting.
Definition Export.c:293
IMPORT_EXPORT_VMM VOID ConfigureEptHookAllocateExtraHookingPagesForMemoryMonitorsAndExecEptHooks(UINT32 Count)
Allocate (reserve) extra pages for storing details of page hooks for memory monitor and regular hidde...
Definition Configuration.c:227
IMPORT_EXPORT_VMM VOID VmFuncPerformRipIncrement(UINT32 CoreId)
Perform the incrementation of RIP.
Definition Export.c:22
IMPORT_EXPORT_VMM UINT32 DisassemblerLengthDisassembleEngine(PVOID Address, BOOLEAN Is32Bit)
Disassembler length disassemble engine.
Definition Disassembler.c:225
IMPORT_EXPORT_VMM VOID ConfigureDirtyLoggingInitializeOnAllProcessors()
routines for initializing dirty logging mechanism
Definition Configuration.c:94
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallEnableEferSyscall(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for enabling syscall hook using EFER SCE bit
Definition DirectVmcall.c:236
IMPORT_EXPORT_VMM VMX_SEGMENT_SELECTOR GetGuestFs()
Get the Guest Fs Selector.
Definition ManageRegs.c:184
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallInvalidateSingleContext(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for invalidating EPT (A Single Context)
Definition DirectVmcall.c:293
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallEnableMovToCrExiting(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for enabling mov to CR exiting
Definition DirectVmcall.c:217
IMPORT_EXPORT_VMM VOID ConfigureEnableEferSyscallEventsOnAllProcessors()
routines for enabling syscall hooks on all cores
Definition Configuration.c:132
IMPORT_EXPORT_VMM VOID VmFuncEventInjectPageFaultWithCr2(UINT32 CoreId, UINT64 Address, UINT32 PageFaultCode)
Inject #PF and configure CR2 register.
Definition Export.c:626
IMPORT_EXPORT_VMM VOID BroadcastDisableRdpmcExitingAllCores()
routines for disabling !pmc
Definition Broadcast.c:267
IMPORT_EXPORT_VMM BOOLEAN ConfigureEptHookUnHookSingleHookByHookingTagFromVmxRoot(UINT64 HookingTag, EPT_SINGLE_HOOK_UNHOOKING_DETAILS *TargetUnhookingDetails)
Remove single hook from the hooked pages by the given hooking tag.
Definition Configuration.c:170
IMPORT_EXPORT_VMM VOID SetGuestIdtr(UINT64 Idtr)
Set the Guest Idtr.
Definition ManageRegs.c:293
IMPORT_EXPORT_VMM VOID SetGuestEs(PVMX_SEGMENT_SELECTOR Es)
Set the Guest Es selector.
Definition ManageRegs.c:260
IMPORT_EXPORT_VMM NTSTATUS VmFuncVmxVmcall(unsigned long long VmcallNumber, unsigned long long OptionalParam1, unsigned long long OptionalParam2, unsigned long long OptionalParam3)
Export for running VMX VMCALLs.
Definition Export.c:683
IMPORT_EXPORT_VMM VOID ConfigureEptHookReservePreallocatedPoolsForEptHooks(UINT32 Count)
Allocate (reserve) pages for storing EPT hooks page hooks.
Definition Configuration.c:239
IMPORT_EXPORT_VMM VOID VmFuncSetExternalInterruptExiting(UINT32 CoreId, BOOLEAN Set)
Set the External Interrupt Exiting.
Definition Export.c:280
IMPORT_EXPORT_VMM VOID VmFuncDisableExternalInterruptsAndInterruptWindow(UINT32 CoreId)
Disable external-interrupts and interrupt window.
Definition Export.c:518
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallSetDisableExternalInterruptExitingOnlyOnClearingInterruptEvents(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for disabling external interrupt exiting only to clear !interrupt commands
Definition DirectVmcall.c:350
IMPORT_EXPORT_VMM NTSTATUS DirectVmcallChangeIoBitmap(UINT32 CoreId, DIRECT_VMCALL_PARAMETERS *DirectVmcallOptions)
routines for changing IO Bitmap
Definition DirectVmcall.c:103
IMPORT_EXPORT_VMM UINT64 GetGuestDr6()
Get the Guest Dr6 (breakpoint status) value.
Definition ManageRegs.c:714
enum _DEBUGGER_READ_MEMORY_TYPE DEBUGGER_READ_MEMORY_TYPE
different type of addresses
CR3 Structure.
Definition BasicTypes.h:130
request for performing a short-circuiting event
Definition Events.h:271
request for enable or disable transparent-mode
Definition RequestStructures.h:549
Used for sending direct VMCALLs on the VMX root-mode.
Definition DataTypes.h:294
Setting details for EPT Hooks (!monitor)
Definition DataTypes.h:331
Details of unhooking single EPT hooks.
Definition DataTypes.h:358
Prototype of each function needed by VMM module.
Definition VMM.h:181
Segment selector.
Definition DataTypes.h:436