92KdDummyDPC(PKDPC Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2);
109 _In_
BOOLEAN PauseBreaksUntilSpecialMessageSent,
225 _In_reads_bytes_opt_(OptionalBufferLength)
CHAR * OptionalBuffer,
226 _In_
UINT32 OptionalBufferLength);
230 _In_
UINT32 OptionalBufferLength,
231 _In_
UINT32 OperationCode);
unsigned short UINT16
Definition BasicTypes.h:47
UCHAR BOOLEAN
Definition BasicTypes.h:39
unsigned char BYTE
Definition BasicTypes.h:24
#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 _DEBUGGER_REMOTE_PACKET_TYPE DEBUGGER_REMOTE_PACKET_TYPE
enum for different packet types in HyperDbg packets
enum _DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION
enum for requested action for HyperDbg packet
enum _DEBUGGEE_PAUSING_REASON DEBUGGEE_PAUSING_REASON
enum for reasons why debuggee is paused
enum _DEBUGGER_THREAD_PROCESS_TRACING DEBUGGER_THREAD_PROCESS_TRACING
enum to query different process and thread interception mechanisms
VOID KdContinueDebuggeeJustCurrentCore(PROCESSOR_DEBUGGING_STATE *DbgState)
continue the debuggee, just the current operating core
Definition Kd.c:616
BOOLEAN KdCheckTargetCoreIsLocked(UINT32 CoreNumber)
Check whether a specific target core is locked or not.
Definition Kd.c:1734
VOID KdRegularStepInInstruction(PROCESSOR_DEBUGGING_STATE *DbgState)
Regular step-in | step one instruction to the debuggee.
Definition Kd.c:1515
VOID KdApplyTasksPreHaltCore(PROCESSOR_DEBUGGING_STATE *DbgState)
before halting any core, all the tasks will be applied to all cores including the main core
Definition Kd.c:517
_Use_decl_annotations_ VOID KdReloadSymbolDetailsInDebuggee(PDEBUGGEE_SYMBOL_REQUEST_PACKET SymPacket)
Notify user-mode to re-send (reload) the symbol packets.
Definition Kd.c:851
_Use_decl_annotations_ BOOLEAN KdReadMemory(PGUEST_REGS Regs, PDEBUGGEE_REGISTER_READ_DESCRIPTION ReadRegisterRequest)
read registers
Definition Kd.c:688
VOID KdNotifyDebuggeeForUserInput(DEBUGGEE_USER_INPUT_PACKET *Descriptor, UINT32 Len)
Notify user-mode to about new user-input buffer.
Definition Kd.c:876
VOID KdGuaranteedStepInstruction(PROCESSOR_DEBUGGING_STATE *DbgState)
apply a guaranteed step one instruction to the debuggee
Definition Kd.c:1406
BOOLEAN KdPerformEventQueryAndModification(PDEBUGGER_MODIFY_EVENTS ModifyAndQueryEvent)
Perform modify and query events.
Definition Kd.c:2084
_Use_decl_annotations_ VOID KdContinueDebuggee(PROCESSOR_DEBUGGING_STATE *DbgState, BOOLEAN PauseBreaksUntilSpecialMessageSent, DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION SpeialEventResponse)
continue the debuggee, this function guarantees that all other cores are continued (except current co...
Definition Kd.c:583
_Use_decl_annotations_ BYTE KdComputeDataChecksum(PVOID Buffer, UINT32 Length)
calculate the checksum of received buffer from debugger
Definition Kd.c:270
VOID KdCustomDebuggerBreakSpinlockLock(PROCESSOR_DEBUGGING_STATE *DbgState, volatile LONG *Lock)
Tries to get the lock and won't return until successfully get the lock.
Definition Kd.c:993
BOOLEAN KdPerformRegisterEvent(PDEBUGGEE_EVENT_AND_ACTION_HEADER_FOR_REMOTE_PACKET EventDetailHeader, DEBUGGER_EVENT_AND_ACTION_RESULT *DebuggerEventAndActionResult)
Send event registration buffer to user-mode to register the event.
Definition Kd.c:1584
VOID KdCloseConnectionAndUnloadDebuggee()
Notify user-mode to unload the debuggee and close the connections.
Definition Kd.c:827
_Use_decl_annotations_ BOOLEAN KdReadRegisters(PROCESSOR_DEBUGGING_STATE *DbgState, PDEBUGGEE_REGISTER_READ_DESCRIPTION ReadRegisterRequest)
read registers
Definition Kd.c:639
VOID KdDispatchAndPerformCommandsFromDebugger(PROCESSOR_DEBUGGING_STATE *DbgState)
This function applies commands from the debugger to the debuggee.
Definition Kd.c:2292
BOOLEAN KdPerformAddActionToEvent(PDEBUGGEE_EVENT_AND_ACTION_HEADER_FOR_REMOTE_PACKET ActionDetailHeader, DEBUGGER_EVENT_AND_ACTION_RESULT *DebuggerEventAndActionResult)
Send action buffer to user-mode to be added to the event.
Definition Kd.c:1636
VOID KdDummyDPC(PKDPC Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
A test function for DPC.
Definition Kd.c:184
VOID KdFireDpc(PVOID Routine, PVOID Parameter)
Add a DPC to dpc queue.
Definition Kd.c:202
BOOLEAN KdSwitchCore(PROCESSOR_DEBUGGING_STATE *DbgState, DEBUGGEE_CHANGE_CORE_PACKET *ChangeCorePacket)
change the current operating core to new core
Definition Kd.c:736
VOID KdQuerySystemState()
Query state of the system.
Definition Kd.c:1762
VOID KdRegularStepOver(PROCESSOR_DEBUGGING_STATE *DbgState, BOOLEAN IsNextInstructionACall, UINT32 CallLength)
Regular step-over | step one instruction to the debuggee if there is a call then it jumps the call.
Definition Kd.c:1536
VOID KdBroadcastHaltOnAllCores()
routines for broadcast system halt
Definition Kd.c:3361
VOID KdApplyTasksPostContinueCore(PROCESSOR_DEBUGGING_STATE *DbgState)
before continue any core, all the tasks will be applied to all cores including the main core
Definition Kd.c:556
BOOLEAN KdCheckAllCoresAreLocked()
Check whether all cores are locked or not.
Definition Kd.c:1701
RequestedActionOfThePacket Value(0x1) 00000000
The structure of changing core packet in HyperDbg.
Definition RequestStructures.h:599
The structure of user-input packet in HyperDbg.
Definition DataTypes.h:156
Register Descriptor Structure to use in r command.
Definition RequestStructures.h:1156
request to change the process
Definition Kd.h:39
UINT32 ProcessId
Definition Kd.h:40
PVOID Process
Definition Kd.h:41
request to change the thread
Definition Kd.h:50
PVOID Thread
Definition Kd.h:52
UINT32 ThreadId
Definition Kd.h:51
request to pause and halt the system
Definition Kd.h:61
volatile BOOLEAN PauseBreaksUntilSpecialMessageSent
Definition Kd.h:62
DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION SpeialEventResponse
Definition Kd.h:63
The structure of .sym reload packet in HyperDbg.
Definition RequestStructures.h:1047
The structure of user-input packet in HyperDbg.
Definition DataTypes.h:140
Status of register buffers.
Definition Events.h:423
request for modifying events (enable/disable/clear)
Definition Events.h:242
request to pause and halt the system
Definition DataTypes.h:178
The structure of detail of a triggered event in HyperDbg.
Definition DataTypes.h:192
store the details of a hardware debug register to ignore any trigger for other threads
Definition Kd.h:73
UINT32 ThreadId
Definition Kd.h:76
UINT64 Address
Definition Kd.h:74
UINT32 ProcessId
Definition Kd.h:75
Saves the debugger state.
Definition State.h:165
Definition BasicTypes.h:70