Termination function for external-interrupts.
32{
33 UNREFERENCED_PARAMETER(OptionalParam3);
34
37
38 switch (VmcallNumber)
39 {
41 {
44 NULL);
46 break;
47 }
49 {
52
53 TempReg = DbgState->
Regs;
54
55
56
57
58
59
61
64 TriggeredEventDetail);
65
66
67
68
69 DbgState->
Regs = TempReg;
70
72 break;
73 }
75 {
77
79 break;
80 }
82 {
83
84
85
86
88 {
90 (
CHAR *)OptionalParam1,
93 }
94
96 break;
97 }
99 {
100
101
102
103
105
110
111
112
113
114
116 {
118
121 NULL);
122 }
123
125 break;
126 }
127 default:
129 LogError(
"Err, invalid VMCALL in top-level debugger");
130
131 break;
132 }
133
134 return Result;
135}
UCHAR BOOLEAN
Definition BasicTypes.h:39
#define NULL64_ZERO
Definition BasicTypes.h:52
#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
@ DEBUGGER_REMOTE_PACKET_TYPE_DEBUGGEE_TO_DEBUGGER
Definition Connection.h:164
@ DEBUGGEE_PAUSING_REASON_DEBUGGEE_EVENT_TRIGGERED
Definition Connection.h:35
@ DEBUGGEE_PAUSING_REASON_PAUSE
Definition Connection.h:25
@ DEBUGGEE_PAUSING_REASON_REQUEST_FROM_DEBUGGER
Definition Connection.h:26
#define OPERATION_LOG_INFO_MESSAGE
Message logs id that comes from kernel-mode to user-mode.
Definition Constants.h:366
#define DEBUGGER_VMCALL_SIGNAL_DEBUGGER_EXECUTION_FINISHED
VMCALL to signal debugger that debuggee finished execution of the command.
Definition DebuggerVmcalls.h:36
#define DEBUGGER_VMCALL_SEND_MESSAGES_TO_DEBUGGER
VMCALL to send messages to the debugger.
Definition DebuggerVmcalls.h:42
#define DEBUGGER_VMCALL_VM_EXIT_HALT_SYSTEM_AS_A_RESULT_OF_TRIGGERING_EVENT
VMCALL to cause vm-exit and halt the system because of triggering an event.
Definition DebuggerVmcalls.h:29
#define DEBUGGER_VMCALL_VM_EXIT_HALT_SYSTEM
VMCALL to cause vm-exit and halt the system.
Definition DebuggerVmcalls.h:22
#define DEBUGGER_VMCALL_SEND_GENERAL_BUFFER_TO_DEBUGGER
VMCALL to send general buffers from debuggee user-mode to the debugger.
Definition DebuggerVmcalls.h:49
#define LogError(format,...)
Log in the case of error.
Definition HyperDbgHyperLogIntrinsics.h:113
VOID KdSendCommandFinishedSignal(UINT32 CoreId)
Notify debugger that the execution of command finished.
Definition Kd.c:924
_Use_decl_annotations_ VOID KdHandleBreakpointAndDebugBreakpoints(PROCESSOR_DEBUGGING_STATE *DbgState, DEBUGGEE_PAUSING_REASON Reason, PDEBUGGER_TRIGGERED_EVENT_DETAILS EventDetails)
Handle #DBs and #BPs for kernel debugger.
Definition Kd.c:1214
_Use_decl_annotations_ BOOLEAN KdLoggingResponsePacketToDebugger(CHAR *OptionalBuffer, UINT32 OptionalBufferLength, UINT32 OperationCode)
Sends a HyperDbg logging response packet to the debugger.
Definition Kd.c:372
_Use_decl_annotations_ BOOLEAN KdResponsePacketToDebugger(DEBUGGER_REMOTE_PACKET_TYPE PacketType, DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION Response, CHAR *OptionalBuffer, UINT32 OptionalBufferLength)
Sends a HyperDbg response packet to the debugger.
Definition Kd.c:294
#define SIZEOF_DEBUGGEE_SEND_GENERAL_PACKET_FROM_DEBUGGEE_TO_DEBUGGER
Definition RequestStructures.h:376
NULL()
Definition test-case-generator.py:530
request for send general packets from debuggee to debugger
Definition RequestStructures.h:384
BOOLEAN PauseDebuggeeWhenSent
Definition RequestStructures.h:387
DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION RequestedAction
Definition RequestStructures.h:385
UINT32 LengthOfBuffer
Definition RequestStructures.h:386
The structure of detail of a triggered event in HyperDbg.
Definition DataTypes.h:192
Saves the debugger state.
Definition State.h:165
GUEST_REGS * Regs
Definition State.h:168
BOOLEAN IgnoreDisasmInNextPacket
Definition State.h:171
Definition BasicTypes.h:70