170#define SIZEOF_DEBUGGER_PAUSE_PACKET_RECEIVED \
171 sizeof(DEBUGGER_PAUSE_PACKET_RECEIVED)
unsigned short UINT16
Definition BasicTypes.h:47
UCHAR BOOLEAN
Definition BasicTypes.h:39
unsigned char BYTE
Definition BasicTypes.h:24
#define TRUE
Definition BasicTypes.h:55
#define FALSE
Definition BasicTypes.h:54
unsigned __int64 UINT64
Definition BasicTypes.h:21
unsigned int UINT32
Definition BasicTypes.h:48
char CHAR
Definition BasicTypes.h:31
unsigned long ULONG
Definition BasicTypes.h:37
enum _DEBUGGEE_PAUSING_REASON DEBUGGEE_PAUSING_REASON
enum for reasons why debuggee is paused
#define PacketChunkSize
Size of each packet.
Definition Constants.h:179
#define MAXIMUM_INSTR_SIZE
maximum instruction size in Intel
Definition Constants.h:468
struct _DEBUGGEE_UD_PAUSED_PACKET * PDEBUGGEE_UD_PAUSED_PACKET
enum _VMM_CALLBACK_EVENT_CALLING_STAGE_TYPE VMM_CALLBACK_EVENT_CALLING_STAGE_TYPE
Type of calling the event.
_PAGING_LEVEL
Different levels of paging.
Definition DataTypes.h:24
@ PagingLevelPageDirectoryPointerTable
Definition DataTypes.h:27
@ PagingLevelPageDirectory
Definition DataTypes.h:26
@ PagingLevelPageTable
Definition DataTypes.h:25
@ PagingLevelPageMapLevel4
Definition DataTypes.h:28
int(* SendMessageWWithSharedBufferCallback)()
Callback type that can be used to be used as a custom ShowMessages function (using shared buffer)
Definition DataTypes.h:129
_DEBUGGER_HOOK_MEMORY_TYPE
different type of memory addresses
Definition DataTypes.h:310
@ DEBUGGER_MEMORY_HOOK_VIRTUAL_ADDRESS
Definition DataTypes.h:311
@ DEBUGGER_MEMORY_HOOK_PHYSICAL_ADDRESS
Definition DataTypes.h:312
struct _DEBUGGER_TRIGGERED_EVENT_DETAILS DEBUGGER_TRIGGERED_EVENT_DETAILS
The structure of detail of a triggered event in HyperDbg.
struct _REGISTER_NOTIFY_BUFFER * PREGISTER_NOTIFY_BUFFER
int(* SendMessageWithParamCallback)(const char *Text)
Callback type that can be used to be used as a custom ShowMessages function (by passing message as a ...
Definition DataTypes.h:122
struct _REGISTER_NOTIFY_BUFFER REGISTER_NOTIFY_BUFFER
Used to register event for transferring buffer between user-to-kernel.
struct _EPT_SINGLE_HOOK_UNHOOKING_DETAILS EPT_SINGLE_HOOK_UNHOOKING_DETAILS
Details of unhooking single EPT hooks.
struct _DIRECT_VMCALL_PARAMETERS DIRECT_VMCALL_PARAMETERS
Used for sending direct VMCALLs on the VMX root-mode.
struct _EPT_HOOKS_ADDRESS_DETAILS_FOR_MEMORY_MONITOR * PEPT_HOOKS_ADDRESS_DETAILS_FOR_MEMORY_MONITOR
enum _DEBUGGER_HOOK_MEMORY_TYPE DEBUGGER_HOOK_MEMORY_TYPE
different type of memory addresses
struct _EPT_HOOKS_CONTEXT * PEPT_HOOKS_CONTEXT
struct _DEBUGGEE_KD_PAUSED_PACKET DEBUGGEE_KD_PAUSED_PACKET
The structure of pausing packet in kHyperDbg.
struct _EPT_HOOKS_CONTEXT EPT_HOOKS_CONTEXT
Temporary $context used in some EPT hook commands.
struct _EPT_SINGLE_HOOK_UNHOOKING_DETAILS * PEPT_SINGLE_HOOK_UNHOOKING_DETAILS
struct _DEBUGGEE_EVENT_AND_ACTION_HEADER_FOR_REMOTE_PACKET DEBUGGEE_EVENT_AND_ACTION_HEADER_FOR_REMOTE_PACKET
The structure of user-input packet in HyperDbg.
struct _DEBUGGER_PAUSE_PACKET_RECEIVED * PDEBUGGER_PAUSE_PACKET_RECEIVED
_NOTIFY_TYPE
Type of transferring buffer between user-to-kernel.
Definition DataTypes.h:254
@ EVENT_BASED
Definition DataTypes.h:256
@ IRP_BASED
Definition DataTypes.h:255
struct _DEBUGGEE_USER_INPUT_PACKET * PDEBUGGEE_USER_INPUT_PACKET
struct _EPT_HOOKS_ADDRESS_DETAILS_FOR_EPTHOOK2 * PEPT_HOOKS_ADDRESS_DETAILS_FOR_EPTHOOK2
enum _NOTIFY_TYPE NOTIFY_TYPE
Type of transferring buffer between user-to-kernel.
struct _DEBUGGER_PAUSE_PACKET_RECEIVED DEBUGGER_PAUSE_PACKET_RECEIVED
request to pause and halt the system
_VMX_EXECUTION_MODE
Definition DataTypes.h:81
@ VmxExecutionModeNonRoot
Definition DataTypes.h:82
@ VmxExecutionModeRoot
Definition DataTypes.h:83
struct _DEBUGGEE_EVENT_AND_ACTION_HEADER_FOR_REMOTE_PACKET * PDEBUGGEE_EVENT_AND_ACTION_HEADER_FOR_REMOTE_PACKET
_VMM_CALLBACK_EVENT_CALLING_STAGE_TYPE
Type of calling the event.
Definition DataTypes.h:91
@ VMM_CALLBACK_CALLING_STAGE_ALL_EVENT_EMULATION
Definition DataTypes.h:95
@ VMM_CALLBACK_CALLING_STAGE_PRE_EVENT_EMULATION
Definition DataTypes.h:93
@ VMM_CALLBACK_CALLING_STAGE_INVALID_EVENT_EMULATION
Definition DataTypes.h:92
@ VMM_CALLBACK_CALLING_STAGE_POST_EVENT_EMULATION
Definition DataTypes.h:94
struct _EPT_HOOKS_ADDRESS_DETAILS_FOR_EPTHOOK2 EPT_HOOKS_ADDRESS_DETAILS_FOR_EPTHOOK2
Setting details for EPT Hooks (!epthook2)
struct _DEBUGGEE_UD_PAUSED_PACKET DEBUGGEE_UD_PAUSED_PACKET
The structure of pausing packet in uHyperDbg.
struct _VMX_SEGMENT_SELECTOR * PVMX_SEGMENT_SELECTOR
struct _DIRECT_VMCALL_PARAMETERS * PDIRECT_VMCALL_PARAMETERS
enum _VMX_EXECUTION_MODE VMX_EXECUTION_MODE
struct _VMX_SEGMENT_SELECTOR VMX_SEGMENT_SELECTOR
Segment selector.
_DEBUG_REGISTER_TYPE
Definition DataTypes.h:69
@ BREAK_ON_READ_AND_WRITE_BUT_NOT_FETCH
Definition DataTypes.h:73
@ BREAK_ON_IO_READ_OR_WRITE_NOT_SUPPORTED
Definition DataTypes.h:72
@ BREAK_ON_WRITE_ONLY
Definition DataTypes.h:71
@ BREAK_ON_INSTRUCTION_FETCH
Definition DataTypes.h:70
_DEBUGGER_THREAD_PROCESS_TRACING
enum to query different process and thread interception mechanisms
Definition DataTypes.h:104
@ DEBUGGER_THREAD_PROCESS_TRACING_INTERCEPT_CLOCK_INTERRUPTS_FOR_THREAD_CHANGE
Definition DataTypes.h:106
@ DEBUGGER_THREAD_PROCESS_TRACING_INTERCEPT_CLOCK_INTERRUPTS_FOR_PROCESS_CHANGE
Definition DataTypes.h:107
@ DEBUGGER_THREAD_PROCESS_TRACING_INTERCEPT_CLOCK_DEBUG_REGISTER_INTERCEPTION
Definition DataTypes.h:108
@ DEBUGGER_THREAD_PROCESS_TRACING_INTERCEPT_CLOCK_WAITING_FOR_MOV_CR3_VM_EXITS
Definition DataTypes.h:109
_POOL_ALLOCATION_INTENTION
Inum of intentions for buffers (buffer tag)
Definition DataTypes.h:40
@ SPLIT_2MB_PAGING_TO_4KB_PAGE
Definition DataTypes.h:43
@ PROCESS_THREAD_HOLDER
Definition DataTypes.h:46
@ EXEC_TRAMPOLINE
Definition DataTypes.h:42
@ TRACKING_HOOKED_PAGES
Definition DataTypes.h:41
@ INSTANT_REGULAR_SAFE_BUFFER_FOR_EVENTS
Definition DataTypes.h:59
@ INSTANT_BIG_SAFE_BUFFER_FOR_EVENTS
Definition DataTypes.h:60
@ INSTANT_BIG_EVENT_BUFFER
Definition DataTypes.h:52
@ INSTANT_BIG_EVENT_ACTION_BUFFER
Definition DataTypes.h:54
@ DETOUR_HOOK_DETAILS
Definition DataTypes.h:44
@ INSTANT_REGULAR_EVENT_ACTION_BUFFER
Definition DataTypes.h:53
@ INSTANT_REGULAR_EVENT_BUFFER
Definition DataTypes.h:51
@ BREAKPOINT_DEFINITION_STRUCTURE
Definition DataTypes.h:45
struct _EPT_HOOKS_ADDRESS_DETAILS_FOR_MEMORY_MONITOR EPT_HOOKS_ADDRESS_DETAILS_FOR_MEMORY_MONITOR
Setting details for EPT Hooks (!monitor)
struct _DEBUGGEE_MESSAGE_PACKET * PDEBUGGEE_MESSAGE_PACKET
struct _DEBUGGEE_MESSAGE_PACKET DEBUGGEE_MESSAGE_PACKET
The structure of message packet in HyperDbg.
struct _DEBUGGER_TRIGGERED_EVENT_DETAILS * PDEBUGGER_TRIGGERED_EVENT_DETAILS
enum _DEBUGGER_THREAD_PROCESS_TRACING DEBUGGER_THREAD_PROCESS_TRACING
enum to query different process and thread interception mechanisms
struct _DEBUGGEE_USER_INPUT_PACKET DEBUGGEE_USER_INPUT_PACKET
The structure of user-input packet in HyperDbg.
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.
struct _DEBUGGEE_KD_PAUSED_PACKET * PDEBUGGEE_KD_PAUSED_PACKET
The structure of user-input packet in HyperDbg.
Definition DataTypes.h:156
UINT32 Length
Definition DataTypes.h:157
The structure of pausing packet in kHyperDbg.
Definition DataTypes.h:207
UINT16 ReadInstructionLen
Definition DataTypes.h:217
UINT64 Rip
Definition DataTypes.h:208
UINT64 Rflags
Definition DataTypes.h:215
BYTE InstructionBytesOnRip[MAXIMUM_INSTR_SIZE]
Definition DataTypes.h:216
BOOLEAN IsProcessorOn32BitMode
Definition DataTypes.h:209
DEBUGGEE_PAUSING_REASON PausingReason
Definition DataTypes.h:211
UINT64 EventTag
Definition DataTypes.h:213
ULONG CurrentCore
Definition DataTypes.h:212
BOOLEAN IgnoreDisassembling
Definition DataTypes.h:210
VMM_CALLBACK_EVENT_CALLING_STAGE_TYPE EventCallingStage
Definition DataTypes.h:214
The structure of message packet in HyperDbg.
Definition DataTypes.h:268
UINT32 OperationCode
Definition DataTypes.h:269
CHAR Message[PacketChunkSize]
Definition DataTypes.h:270
The structure of pausing packet in uHyperDbg.
Definition DataTypes.h:229
GUEST_REGS GuestRegs
Definition DataTypes.h:241
DEBUGGEE_PAUSING_REASON PausingReason
Definition DataTypes.h:233
UINT16 ReadInstructionLen
Definition DataTypes.h:240
UINT64 Rip
Definition DataTypes.h:230
VMM_CALLBACK_EVENT_CALLING_STAGE_TYPE EventCallingStage
Definition DataTypes.h:238
BOOLEAN Is32Bit
Definition DataTypes.h:232
UINT64 ProcessDebuggingToken
Definition DataTypes.h:231
UINT64 EventTag
Definition DataTypes.h:237
UINT64 Rflags
Definition DataTypes.h:236
UINT32 ThreadId
Definition DataTypes.h:235
UINT32 ProcessId
Definition DataTypes.h:234
BYTE InstructionBytesOnRip[MAXIMUM_INSTR_SIZE]
Definition DataTypes.h:239
The structure of user-input packet in HyperDbg.
Definition DataTypes.h:140
UINT32 CommandLen
Definition DataTypes.h:141
UINT32 Result
Definition DataTypes.h:143
BOOLEAN IgnoreFinishedSignal
Definition DataTypes.h:142
request to pause and halt the system
Definition DataTypes.h:178
UINT32 Result
Definition DataTypes.h:179
The structure of detail of a triggered event in HyperDbg.
Definition DataTypes.h:192
UINT64 Tag
Definition DataTypes.h:193
VMM_CALLBACK_EVENT_CALLING_STAGE_TYPE Stage
Definition DataTypes.h:195
PVOID Context
Definition DataTypes.h:194
Used for sending direct VMCALLs on the VMX root-mode.
Definition DataTypes.h:294
UINT64 OptionalParam2
Definition DataTypes.h:296
UINT64 OptionalParam3
Definition DataTypes.h:297
UINT64 OptionalParam1
Definition DataTypes.h:295
Setting details for EPT Hooks (!epthook2)
Definition DataTypes.h:347
PVOID HookFunction
Definition DataTypes.h:349
PVOID TargetAddress
Definition DataTypes.h:348
Setting details for EPT Hooks (!monitor)
Definition DataTypes.h:331
UINT64 StartAddress
Definition DataTypes.h:332
BOOLEAN SetHookForRead
Definition DataTypes.h:334
BOOLEAN SetHookForWrite
Definition DataTypes.h:335
UINT64 EndAddress
Definition DataTypes.h:333
DEBUGGER_HOOK_MEMORY_TYPE MemoryType
Definition DataTypes.h:337
BOOLEAN SetHookForExec
Definition DataTypes.h:336
UINT64 Tag
Definition DataTypes.h:338
Temporary $context used in some EPT hook commands.
Definition DataTypes.h:320
UINT64 HookingTag
Definition DataTypes.h:321
UINT64 VirtualAddress
Definition DataTypes.h:323
UINT64 PhysicalAddress
Definition DataTypes.h:322
Details of unhooking single EPT hooks.
Definition DataTypes.h:358
BOOLEAN CallerNeedsToRestoreEntryAndInvalidateEpt
Definition DataTypes.h:359
SIZE_T PhysicalAddress
Definition DataTypes.h:361
BOOLEAN RemoveBreakpointInterception
Definition DataTypes.h:360
UINT64 OriginalEntry
Definition DataTypes.h:362
Used to register event for transferring buffer between user-to-kernel.
Definition DataTypes.h:279
NOTIFY_TYPE Type
Definition DataTypes.h:280
HANDLE hEvent
Definition DataTypes.h:281
Segment selector.
Definition DataTypes.h:436
UINT32 Limit
Definition DataTypes.h:439
VMX_SEGMENT_ACCESS_RIGHTS_TYPE Attributes
Definition DataTypes.h:438
UINT16 Selector
Definition DataTypes.h:437
UINT64 Base
Definition DataTypes.h:440
Definition BasicTypes.h:70
Describe segment selector in VMX.
Definition DataTypes.h:377
UINT32 Present
Definition DataTypes.h:398
UINT32 DescriptorPrivilegeLevel
Definition DataTypes.h:393
UINT32 Granularity
Definition DataTypes.h:420
UINT32 LongMode
Definition DataTypes.h:410
UINT32 AsUInt
Definition DataTypes.h:428
UINT32 DefaultBig
Definition DataTypes.h:415
UINT32 AvailableBit
Definition DataTypes.h:405
UINT32 Reserved1
Definition DataTypes.h:400
UINT32 Type
Definition DataTypes.h:383
UINT32 DescriptorType
Definition DataTypes.h:388
UINT32 Reserved2
Definition DataTypes.h:425
UINT32 Unusable
Definition DataTypes.h:424