41 _In_reads_bytes_(BufferLength) PVOID Buffer,
79 UINT32 PageFaultErrorCode);
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 _VMM_CALLBACK_EVENT_CALLING_STAGE_TYPE VMM_CALLBACK_EVENT_CALLING_STAGE_TYPE
Type of calling the event.
enum _DEBUGGER_THREAD_PROCESS_TRACING DEBUGGER_THREAD_PROCESS_TRACING
enum to query different process and thread interception mechanisms
UINT64 Address
Definition HyperDbgScriptImports.h:67
BOOLEAN(* LOG_CALLBACK_SEND_MESSAGE_TO_QUEUE)(UINT32 OperationCode, BOOLEAN IsImmediateMessage, CHAR *LogMessage, UINT32 BufferLen, BOOLEAN Priority)
A function that sends the messages to message tracer buffers.
Definition VMM.h:34
BOOLEAN(* VMM_CALLBACK_QUERY_TERMINATE_PROTECTED_RESOURCE)(UINT32 CoreId, PROTECTED_HV_RESOURCES_TYPE ResourceType, PVOID Context, PROTECTED_HV_RESOURCES_PASSING_OVERS PassOver)
Check and modify the protected resources of the hypervisor.
Definition VMM.h:151
BOOLEAN(* DEBUGGING_CALLBACK_HANDLE_BREAKPOINT_EXCEPTION)(UINT32 CoreId)
A function that checks and handles breakpoints.
Definition VMM.h:65
BOOLEAN(* LOG_CALLBACK_CHECK_IF_BUFFER_IS_FULL)(BOOLEAN Priority)
A function that checks whether the priority or regular buffer is full or not.
Definition VMM.h:49
struct _VMM_CALLBACKS VMM_CALLBACKS
Prototype of each function needed by VMM module.
BOOLEAN(* VMM_CALLBACK_VMCALL_HANDLER)(UINT32 CoreId, UINT64 VmcallNumber, UINT64 OptionalParam1, UINT64 OptionalParam2, UINT64 OptionalParam3)
Handler of debugger specific VMCALLs.
Definition VMM.h:166
BOOLEAN(* DEBUGGING_CALLBACK_HANDLE_DEBUG_BREAKPOINT_EXCEPTION)(UINT32 CoreId)
A function that checks and handles debug breakpoints.
Definition VMM.h:71
BOOLEAN(* INTERCEPTION_CALLBACK_TRIGGER_CLOCK_AND_IPI)(_In_ UINT32 CoreId)
Check for process or thread change callback.
Definition VMM.h:115
VOID(* INTERCEPTION_CALLBACK_TRIGGER_CR3_CHANGE)(UINT32 CoreId)
Handle cr3 process change callbacks.
Definition VMM.h:109
VMM_CALLBACK_TRIGGERING_EVENT_STATUS_TYPE(* VMM_CALLBACK_TRIGGER_EVENTS)(VMM_EVENT_TYPE_ENUM EventType, VMM_CALLBACK_EVENT_CALLING_STAGE_TYPE CallingStage, PVOID Context, BOOLEAN *PostEventRequired, GUEST_REGS *Regs)
A function that handles trigger events.
Definition VMM.h:55
BOOLEAN(* VMM_CALLBACK_CHECK_UNHANDLED_EPT_VIOLATION)(UINT32 CoreId, UINT64 ViolationQualification, UINT64 GuestPhysicalAddr)
Check for unhandled EPT violations.
Definition VMM.h:103
BOOLEAN(* BREAKPOINT_CHECK_AND_HANDLE_REAPPLYING_BREAKPOINT)(UINT32 CoreId)
Check and handle reapplying breakpoint.
Definition VMM.h:127
VOID(* VMM_CALLBACK_REGISTERED_MTF_HANDLER)(UINT32 CoreId)
Handle registered MTF callback.
Definition VMM.h:91
VOID(* VMM_CALLBACK_SET_LAST_ERROR)(UINT32 LastError)
Set the top-level driver's error status.
Definition VMM.h:145
BOOLEAN(* LOG_CALLBACK_PREPARE_AND_SEND_MESSAGE_TO_QUEUE)(UINT32 OperationCode, BOOLEAN IsImmediateMessage, BOOLEAN ShowCurrentSystemTime, BOOLEAN Priority, const char *Fmt, va_list ArgList)
A function from the message tracer that send the inputs to the queue of the messages.
Definition VMM.h:23
BOOLEAN(* DEBUGGING_CALLBACK_CONDITIONAL_PAGE_FAULT_EXCEPTION)(UINT32 CoreId, UINT64 Address, UINT32 PageFaultErrorCode)
Check for page-faults in user-debugger.
Definition VMM.h:77
VOID(* VMM_CALLBACK_NMI_BROADCAST_REQUEST_HANDLER)(UINT32 CoreId, BOOLEAN IsOnVmxNmiHandler)
Handle NMI broadcast.
Definition VMM.h:133
BOOLEAN(* KD_CHECK_AND_HANDLE_NMI_CALLBACK)(UINT32 CoreId)
Check and handle NMI callbacks.
Definition VMM.h:139
struct _VMM_CALLBACKS * PVMM_CALLBACKS
BOOLEAN(* VMM_CALLBACK_RESTORE_EPT_STATE)(UINT32 CoreId)
Check for user-mode access for loaded module details.
Definition VMM.h:97
BOOLEAN(* UD_CHECK_FOR_COMMAND)()
Check for commands in user-debugger.
Definition VMM.h:85
BOOLEAN(* LOG_CALLBACK_SEND_BUFFER)(_In_ UINT32 OperationCode, _In_reads_bytes_(BufferLength) PVOID Buffer, _In_ UINT32 BufferLength, _In_ BOOLEAN Priority)
A function that sends the messages to message tracer buffers.
Definition VMM.h:40
BOOLEAN(* KD_QUERY_DEBUGGER_THREAD_OR_PROCESS_TRACING_DETAILS_BY_CORE_ID)(UINT32 CoreId, DEBUGGER_THREAD_PROCESS_TRACING TracingType)
Query debugger thread or process tracing details by core ID.
Definition VMM.h:160
BOOLEAN(* ATTACHING_HANDLE_CR3_EVENTS_FOR_THREAD_INTERCEPTION)(UINT32 CoreId, CR3_TYPE NewCr3)
Check to handle cr3 events for thread interception.
Definition VMM.h:121
CR3 Structure.
Definition BasicTypes.h:130
Prototype of each function needed by VMM module.
Definition VMM.h:181
BREAKPOINT_CHECK_AND_HANDLE_REAPPLYING_BREAKPOINT BreakpointCheckAndHandleReApplyingBreakpoint
Definition VMM.h:216
DEBUGGING_CALLBACK_HANDLE_DEBUG_BREAKPOINT_EXCEPTION DebuggingCallbackHandleDebugBreakpointException
Definition VMM.h:205
INTERCEPTION_CALLBACK_TRIGGER_CLOCK_AND_IPI DebuggerCheckProcessOrThreadChange
Definition VMM.h:220
DEBUGGING_CALLBACK_CONDITIONAL_PAGE_FAULT_EXCEPTION DebuggingCallbackConditionalPageFaultException
Definition VMM.h:206
VMM_CALLBACK_NMI_BROADCAST_REQUEST_HANDLER VmmCallbackNmiBroadcastRequestHandler
Definition VMM.h:196
LOG_CALLBACK_SEND_BUFFER LogCallbackSendBuffer
Definition VMM.h:187
VMM_CALLBACK_VMCALL_HANDLER VmmCallbackVmcallHandler
Definition VMM.h:195
VMM_CALLBACK_REGISTERED_MTF_HANDLER VmmCallbackRegisteredMtfHandler
Definition VMM.h:219
LOG_CALLBACK_CHECK_IF_BUFFER_IS_FULL LogCallbackCheckIfBufferIsFull
Definition VMM.h:188
VMM_CALLBACK_SET_LAST_ERROR VmmCallbackSetLastError
Definition VMM.h:194
LOG_CALLBACK_PREPARE_AND_SEND_MESSAGE_TO_QUEUE LogCallbackPrepareAndSendMessageToQueueWrapper
Definition VMM.h:185
LOG_CALLBACK_SEND_MESSAGE_TO_QUEUE LogCallbackSendMessageToQueue
Definition VMM.h:186
INTERCEPTION_CALLBACK_TRIGGER_CR3_CHANGE InterceptionCallbackTriggerCr3ProcessChange
Definition VMM.h:211
VMM_CALLBACK_RESTORE_EPT_STATE VmmCallbackRestoreEptState
Definition VMM.h:198
ATTACHING_HANDLE_CR3_EVENTS_FOR_THREAD_INTERCEPTION AttachingHandleCr3VmexitsForThreadInterception
Definition VMM.h:221
VMM_CALLBACK_CHECK_UNHANDLED_EPT_VIOLATION VmmCallbackCheckUnhandledEptViolations
Definition VMM.h:199
UD_CHECK_FOR_COMMAND UdCheckForCommand
Definition VMM.h:217
KD_CHECK_AND_HANDLE_NMI_CALLBACK KdCheckAndHandleNmiCallback
Definition VMM.h:218
DEBUGGING_CALLBACK_HANDLE_BREAKPOINT_EXCEPTION DebuggingCallbackHandleBreakpointException
Definition VMM.h:204
VMM_CALLBACK_TRIGGER_EVENTS VmmCallbackTriggerEvents
Definition VMM.h:193
KD_QUERY_DEBUGGER_THREAD_OR_PROCESS_TRACING_DETAILS_BY_CORE_ID KdQueryDebuggerQueryThreadOrProcessTracingDetailsByCoreId
Definition VMM.h:222
VMM_CALLBACK_QUERY_TERMINATE_PROTECTED_RESOURCE VmmCallbackQueryTerminateProtectedResource
Definition VMM.h:197
Definition BasicTypes.h:70