HyperDbg Debugger
Loading...
Searching...
No Matches
Global.h File Reference

Headers for global variables. More...

Go to the source code of this file.

Variables

PROCESSOR_DEBUGGING_STATEg_DbgState
 Save the state and variables related to debugging on each to logical core.
BOOLEAN g_HyperLogInitialized
 Shows whether the hyperlog module is initialized or not.
BOOLEAN g_KdInitialized
 Shows whether the KD module is initialized or not.
BOOLEAN g_VmmInitialized
 Shows whether the VMM is initialized or not.
BOOLEAN g_HyperTraceInitialized
 Shows whether the hypertrace module is initialized or not.
KEVENT g_UserDebuggerWaitingCommandEvent
 Event to show whether the user debugger is waiting for a command or not.
PVOID g_UserDebuggerWaitingCommandBuffer
 Buffer to hold the command from user debugger.
UINT32 g_UserDebuggerWaitingCommandInputBufferLength
 Length of the input command buffer from user debugger.
UINT32 g_UserDebuggerWaitingCommandOutputBufferLength
 Length of the output command buffer from user debugger.
UINT64 * g_ScriptGlobalVariables
 Holder of script engines global variables.
DEBUGGER_TRAP_FLAG_STATE g_TrapFlagState
 State of the trap-flag.
BOOLEAN g_HandleInUse
 Determines whether the one application gets the handle or not this is used to ensure that only one application can get the handle.
DEBUGGER_CORE_EVENTSg_Events
 events list (for debugger)
DEBUGGEE_REQUEST_TO_IGNORE_BREAKS_UNTIL_AN_EVENT g_IgnoreBreaksToDebugger
 Holds the requests to pause the break of debuggee until a special event happens.
HARDWARE_DEBUG_REGISTER_DETAILS g_HardwareDebugRegisterDetailsForStepOver
 Holds the state of hardware debug register for step-over.
DEBUGGEE_FORMATS_PACKET g_UserDebuggerFormatsResultPacket
 Holds the result of user debugger formats command.
DEBUGGEE_REQUEST_TO_CHANGE_PROCESS g_ProcessSwitch
 Process switch to EPROCESS or Process ID.
DEBUGGEE_REQUEST_TO_CHANGE_THREAD g_ThreadSwitch
 Thread switch to ETHREAD or Thread ID.
UINT32 g_LastError
 The value of last error.
BOOLEAN g_EnableDebuggerVmxEvents
 Determines whether the debugger events should be active or not.
LIST_ENTRY g_BreakpointsListHead
 List header of breakpoints for debugger-mode.
UINT64 g_MaximumBreakpointId
 Seed for setting id of breakpoints.
BOOLEAN g_KernelDebuggerState
 shows whether the kernel debugger is enabled or disabled
BOOLEAN g_UserDebuggerState
 shows whether the user debugger is enabled or disabled
BOOLEAN g_InterceptBreakpoints
 shows whether the debugger should intercept breakpoints (#BP) or not
BOOLEAN g_InterceptDebugBreaks
 shows whether the debugger should intercept breakpoints (#DB) or not
DEBUGGEE_PAUSING_REASON g_DebuggeeHaltReason
 Reason that the debuggee is halted.
DEBUGGER_TRIGGERED_EVENT_DETAILS g_EventTriggerDetail
 Trigger event details.
UINT64 g_SeedOfUserDebuggingDetails
 Seed for tokens of unique details buffer for threads.
BOOLEAN g_IsWaitingForReturnAndRunFromPageFault
 Whether the thread attaching mechanism is waiting for a page-fault finish or not.
LIST_ENTRY g_ProcessDebuggingDetailsListHead
 List header of thread debugging details.
BOOLEAN g_IsWaitingForUserModeProcessEntryToBeCalled
 Whether the thread attaching mechanism is waiting for #DB or not.
BOOLEAN g_InterceptBreakpointsAndEventsForCommandsInRemoteComputer
 To avoid getting stuck from getting hit from the breakpoints while executing the commands in the remote computer, for example, bp NtQuerySystemInformation and lm, the debugger should intercept the breakponts and events.
BOOLEAN g_TestFlag
 Global test flag (for testing purposes).

Detailed Description

Headers for global variables.

Author
Sina Karvandi (sina@.nosp@m.hype.nosp@m.rdbg..nosp@m.org)
Version
0.1
Date
2023-01-13

Variable Documentation

◆ g_BreakpointsListHead

LIST_ENTRY g_BreakpointsListHead

List header of breakpoints for debugger-mode.

◆ g_DbgState

Save the state and variables related to debugging on each to logical core.

◆ g_DebuggeeHaltReason

DEBUGGEE_PAUSING_REASON g_DebuggeeHaltReason

Reason that the debuggee is halted.

◆ g_EnableDebuggerVmxEvents

BOOLEAN g_EnableDebuggerVmxEvents

Determines whether the debugger events should be active or not.

◆ g_Events

events list (for debugger)

◆ g_EventTriggerDetail

DEBUGGER_TRIGGERED_EVENT_DETAILS g_EventTriggerDetail

Trigger event details.

◆ g_HandleInUse

BOOLEAN g_HandleInUse

Determines whether the one application gets the handle or not this is used to ensure that only one application can get the handle.

◆ g_HardwareDebugRegisterDetailsForStepOver

HARDWARE_DEBUG_REGISTER_DETAILS g_HardwareDebugRegisterDetailsForStepOver

Holds the state of hardware debug register for step-over.

◆ g_HyperLogInitialized

BOOLEAN g_HyperLogInitialized

Shows whether the hyperlog module is initialized or not.

◆ g_HyperTraceInitialized

BOOLEAN g_HyperTraceInitialized

Shows whether the hypertrace module is initialized or not.

◆ g_IgnoreBreaksToDebugger

Holds the requests to pause the break of debuggee until a special event happens.

◆ g_InterceptBreakpoints

BOOLEAN g_InterceptBreakpoints

shows whether the debugger should intercept breakpoints (#BP) or not

◆ g_InterceptBreakpointsAndEventsForCommandsInRemoteComputer

BOOLEAN g_InterceptBreakpointsAndEventsForCommandsInRemoteComputer

To avoid getting stuck from getting hit from the breakpoints while executing the commands in the remote computer, for example, bp NtQuerySystemInformation and lm, the debugger should intercept the breakponts and events.

◆ g_InterceptDebugBreaks

BOOLEAN g_InterceptDebugBreaks

shows whether the debugger should intercept breakpoints (#DB) or not

◆ g_IsWaitingForReturnAndRunFromPageFault

BOOLEAN g_IsWaitingForReturnAndRunFromPageFault

Whether the thread attaching mechanism is waiting for a page-fault finish or not.

◆ g_IsWaitingForUserModeProcessEntryToBeCalled

BOOLEAN g_IsWaitingForUserModeProcessEntryToBeCalled

Whether the thread attaching mechanism is waiting for #DB or not.

◆ g_KdInitialized

BOOLEAN g_KdInitialized

Shows whether the KD module is initialized or not.

◆ g_KernelDebuggerState

BOOLEAN g_KernelDebuggerState

shows whether the kernel debugger is enabled or disabled

◆ g_LastError

UINT32 g_LastError

The value of last error.

◆ g_MaximumBreakpointId

UINT64 g_MaximumBreakpointId

Seed for setting id of breakpoints.

◆ g_ProcessDebuggingDetailsListHead

LIST_ENTRY g_ProcessDebuggingDetailsListHead

List header of thread debugging details.

◆ g_ProcessSwitch

Process switch to EPROCESS or Process ID.

◆ g_ScriptGlobalVariables

UINT64* g_ScriptGlobalVariables

Holder of script engines global variables.

◆ g_SeedOfUserDebuggingDetails

UINT64 g_SeedOfUserDebuggingDetails

Seed for tokens of unique details buffer for threads.

◆ g_TestFlag

BOOLEAN g_TestFlag

Global test flag (for testing purposes).

◆ g_ThreadSwitch

Thread switch to ETHREAD or Thread ID.

◆ g_TrapFlagState

DEBUGGER_TRAP_FLAG_STATE g_TrapFlagState

State of the trap-flag.

◆ g_UserDebuggerFormatsResultPacket

DEBUGGEE_FORMATS_PACKET g_UserDebuggerFormatsResultPacket

Holds the result of user debugger formats command.

◆ g_UserDebuggerState

BOOLEAN g_UserDebuggerState

shows whether the user debugger is enabled or disabled

◆ g_UserDebuggerWaitingCommandBuffer

PVOID g_UserDebuggerWaitingCommandBuffer

Buffer to hold the command from user debugger.

◆ g_UserDebuggerWaitingCommandEvent

KEVENT g_UserDebuggerWaitingCommandEvent

Event to show whether the user debugger is waiting for a command or not.

◆ g_UserDebuggerWaitingCommandInputBufferLength

UINT32 g_UserDebuggerWaitingCommandInputBufferLength

Length of the input command buffer from user debugger.

◆ g_UserDebuggerWaitingCommandOutputBufferLength

UINT32 g_UserDebuggerWaitingCommandOutputBufferLength

Length of the output command buffer from user debugger.

◆ g_VmmInitialized

BOOLEAN g_VmmInitialized

Shows whether the VMM is initialized or not.