Check if the remote debuggee needs to pause the system and also process the debuggee's messages.
45{
75 PVOID CallerAddress =
NULL;
77
78StartAgain:
79
82
83
84
85
86
88 {
89 if (LengthReceived == 0 && BufferToReceive[0] == NULL)
90 {
91
92
93
95
97 {
98
99
100
102
104 {
105 ShowSignatureWhenDisconnected =
TRUE;
106 }
107 }
108
110
111 if (ShowSignatureWhenDisconnected)
112 {
113 ShowSignatureWhenDisconnected =
FALSE;
115 }
117 }
118 else
119 {
121 goto StartAgain;
122 }
123 }
124
125
126
127
128 if (LengthReceived == 1 && BufferToReceive[0] == NULL)
129 {
130 goto StartAgain;
131 }
132
134
136 {
137
138
139
141 LengthReceived -
sizeof(
BYTE)) != TheActualPacket->
Checksum)
142 {
144 goto StartAgain;
145 }
146
147
148
149
151 {
152
153
154
155
156 ShowMessages(
"\nerr, unknown packet received from the debuggee\n");
157 goto StartAgain;
158 }
159
160
161
162
164 {
166
167
168
169
171
172 break;
173
175
177
178
179
180
182
184
185
186
187
189
190 break;
191
193
195
196
197
198
202 {
203
204
205
206
208 {
210 }
211 }
212
213 break;
214
216
217
218
219
221
223
224
225
226
228
229
230
231
233
234
235
236
239
241
242
243
244
246 {
248
250 {
251
252
253
256 }
257
258 break;
259
261
263 {
264
265
266
268 {
271 }
272 else
273 {
276 }
277 }
278
279 break;
280
282
284
285 break;
286
288
290
291 break;
292
294
295 ShowMessages(
"the target module is loaded and a breakpoint is set to the entrypoint\n"
296 "press 'g' to reach to the entrypoint of the main module...\n");
297
298 break;
299
300 default:
301 break;
302 }
303
305 {
306
307
308
310 {
311
312
313
314
318 {
319 ShowMessages(
"oOh, no! there might be a misinterpretation in disassembling the current instruction\n");
320 }
321 }
322
324 {
325
326
327
331 1,
334 }
335 else
336 {
337
338
339
343 1,
346 }
347 }
348
350 {
357
358
359
360
362
363 break;
364
366
367
368
369
373 PausePacket->Rip);
374
375
376
377
379
380 break;
381
383
384
385
386
389
390 break;
391
393
394
395
396
397 break;
398
400
401
402
403
405
406 break;
407
409
410
411
412
415
416 break;
417
419
420
421
422
423
425
426 break;
427
428 default:
429
430 ShowMessages(
"err, unknown pausing reason is received\n");
431
432 break;
433 }
434
435 break;
436
438
440
442 {
443 ShowMessages(
"current operating core changed to 0x%x\n",
445 }
446 else
447 {
449
450
451
452
454 }
455
456 break;
457
459
461
463 {
465 {
466 ShowMessages(
"process id: %x\nprocess (_EPROCESS): %s\nprocess name (16-Byte): %s\n",
470 }
472 {
474 "press 'g' to continue the debuggee, if the pid or the "
475 "process object address is valid then the debuggee will "
476 "be automatically paused when it attached to the target process\n");
477 }
478 }
479 else
480 {
482 }
483
484
485
486
488
489 break;
490
492
494
496 {
498 {
500 }
501 }
502 else
503 {
505 }
506
507
508
509
511
512 break;
513
515
517
519 {
521 {
522 ShowMessages(
"thread id: %x (pid: %x)\nthread (_ETHREAD): %s\nprocess (_EPROCESS): %s\nprocess name (16-Byte): %s\n",
528 }
530 {
532 "press 'g' to continue the debuggee, if the tid or the "
533 "thread object address is valid then the debuggee will "
534 "be automatically paused when it attached to the target thread\n");
535 }
536 }
537 else
538 {
540 }
541
542
543
544
546
547 break;
548
550
552
554 {
555
556
557
558
559 ShowMessages(
"flushing buffers was successful, total %d messages were "
560 "cleared.\n",
562 }
563 else
564 {
566 }
567
568
569
570
572
573 break;
574
576
579
581 {
582
583
584
589 }
590 else
591 {
593 }
594
595
596
597
599
600 break;
601
603
605
607 {
609 {
611
612 ShowMessages(
"breakpoint interception (#BP) is deactivated\n"
613 "from now, the breakpoints will be re-injected into the guest debuggee\n");
614
615 break;
616
618
619 ShowMessages(
"breakpoint interception (#BP) is activated\n");
620
621 break;
622
624
625 ShowMessages(
"debug break interception (#DB) is deactivated\n"
626 "from now, the debug breaks will be re-injected into the guest debuggee\n");
627
628 break;
629
631
632 ShowMessages(
"debug break interception (#DB) is activated\n");
633
634 break;
635
636 default:
637 break;
638 }
639 }
640 else
641 {
643 }
644
645
646
647
649
650 break;
651
653
655
657 {
658
659
660
661 }
662 else
663 {
665 }
666
668 {
669
670
671
673 }
674
675
676
677
679
680 break;
681
683
685
686
687
688
689
690
693
694 break;
695
697
699
700
701
702
704
705
706
707
709
710 break;
711
713
715
716
717
718
720
721
722
723
725
726 break;
727
729
731
732
733
734
736 {
737
738
739
741 }
743 {
744
745
746
748 }
749 else
750 {
752 EventModifyAndQueryPacket);
753 }
754
755
756
757
758
760
761 break;
762
764
766
767
768
769
771 {
772
773
774
776 }
777 else
778 {
779
780
781
783 }
784
785
786
787
789
790 break;
791
793
795
796
797
798
800
801
802
803
804 memcpy(CallerAddress, ReadRegisterPacket, CallerSize);
805
806
807
808
810
811 break;
812
814
816
817
818
819
821
822
823
824
825 memcpy(CallerAddress, WriteRegisterPacket, CallerSize);
826
827
828
829
831
832 break;
833
835
837
838
839
840
842
843
844
845
846 memcpy(CallerAddress, ReadMemoryPacket, CallerSize);
847
848
849
850
852
853 break;
854
856
858
859
860
861
863
864
865
866
867 memcpy(CallerAddress, EditMemoryPacket, CallerSize);
868
869
870
871
873
874 break;
875
877
879
881 {
882
883
884
885 }
886 else
887 {
889 }
890
891
892
893
895
896 break;
897
899
901
903 {
905 }
906 else
907 {
909 }
910
911
912
913
915
916 break;
917
919
921
923 {
924
925
926
928 }
929 else
930 {
932 }
933
934
935
936
938
939 break;
940
942
944
946 {
947
948
949
950 ShowMessages(
"the page-fault is delivered to the target thread\n"
951 "press 'g' to continue debuggee (the current thread will execute ONLY one instruction and will be halted again)...\n");
952 }
953 else
954 {
956 }
957
958
959
960
962
963 break;
964
966
968
970 {
972 {
974 }
975 else
976 {
978 }
979 }
980 else
981 {
983 }
984
985
986
987
989
990 break;
991
993
995
997 {
998
999
1000
1001 }
1002 else
1003 {
1005 }
1006
1007
1008
1009
1010
1012
1013 break;
1014
1016
1018
1019
1020
1022
1023 break;
1024
1025 default:
1026 ShowMessages(
"err, unknown packet action received from the debugger\n");
1027 break;
1028 }
1029 }
1030 else
1031 {
1032
1033
1034
1036
1037 }
1038
1039
1040
1041
1042 goto StartAgain;
1043
1045}
UCHAR BOOLEAN
Definition BasicTypes.h:39
#define NULL_ZERO
Definition BasicTypes.h:51
char CHAR
Definition BasicTypes.h:31
@ DEBUGGER_REMOTE_PACKET_TYPE_DEBUGGEE_TO_DEBUGGER
Definition Connection.h:164
@ DEBUGGEE_PAUSING_REASON_DEBUGGEE_SOFTWARE_BREAKPOINT_HIT
Definition Connection.h:29
@ DEBUGGEE_PAUSING_REASON_DEBUGGEE_PROCESS_SWITCHED
Definition Connection.h:32
@ DEBUGGEE_PAUSING_REASON_DEBUGGEE_STEPPED
Definition Connection.h:27
@ DEBUGGEE_PAUSING_REASON_DEBUGGEE_EVENT_TRIGGERED
Definition Connection.h:35
@ DEBUGGEE_PAUSING_REASON_DEBUGGEE_THREAD_SWITCHED
Definition Connection.h:33
@ DEBUGGEE_PAUSING_REASON_PAUSE
Definition Connection.h:25
@ DEBUGGEE_PAUSING_REASON_DEBUGGEE_TRACKING_STEPPED
Definition Connection.h:28
@ DEBUGGEE_PAUSING_REASON_REQUEST_FROM_DEBUGGER
Definition Connection.h:26
@ DEBUGGEE_PAUSING_REASON_DEBUGGEE_STARTING_MODULE_LOADED
Definition Connection.h:36
@ DEBUGGEE_PAUSING_REASON_DEBUGGEE_COMMAND_EXECUTION_FINISHED
Definition Connection.h:34
@ DEBUGGEE_PAUSING_REASON_DEBUGGEE_HARDWARE_DEBUG_REGISTER_HIT
Definition Connection.h:30
@ DEBUGGEE_PAUSING_REASON_DEBUGGEE_CORE_SWITCHED
Definition Connection.h:31
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_BP
Definition Connection.h:122
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RELOAD_SYMBOL_FINISHED
Definition Connection.h:126
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_PTE
Definition Connection.h:128
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_TEST_QUERY
Definition Connection.h:114
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RELOAD_SEARCH_QUERY
Definition Connection.h:127
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_SHORT_CIRCUITING_STATE
Definition Connection.h:123
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_FLUSH
Definition Connection.h:112
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_ADDING_ACTION_TO_EVENT
Definition Connection.h:116
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_READING_REGISTERS
Definition Connection.h:119
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_LOGGING_MECHANISM
Definition Connection.h:105
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_READING_MEMORY
Definition Connection.h:120
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_REGISTERING_EVENT
Definition Connection.h:115
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_WRITE_REGISTER
Definition Connection.h:131
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_VA2PA_AND_PA2VA
Definition Connection.h:129
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_EDITING_MEMORY
Definition Connection.h:121
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_CHANGING_THREAD
Definition Connection.h:109
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_STARTED
Definition Connection.h:104
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_PAUSED_AND_CURRENT_INSTRUCTION
Definition Connection.h:106
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_RUNNING_SCRIPT
Definition Connection.h:110
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_BRINGING_PAGES_IN
Definition Connection.h:130
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_QUERY_AND_MODIFY_EVENT
Definition Connection.h:117
@ DEBUGGER_REMOTE_PACKET_PING_AND_SEND_SUPPORTED_VERSION
Definition Connection.h:68
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_CALLSTACK
Definition Connection.h:113
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_CHANGING_CORE
Definition Connection.h:107
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_LIST_OR_MODIFY_BREAKPOINTS
Definition Connection.h:124
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_UPDATE_SYMBOL_INFO
Definition Connection.h:125
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_CHANGING_PROCESS
Definition Connection.h:108
@ DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION_DEBUGGEE_RESULT_OF_FORMATS
Definition Connection.h:111
struct _DEBUGGER_REMOTE_PACKET DEBUGGER_REMOTE_PACKET
The structure of remote packets in HyperDbg.
#define MAXIMUM_INSTR_SIZE
maximum instruction size in Intel
Definition Constants.h:468
#define DebuggerEventTagStartSeed
The seeds that user-mode codes use as the starter of their events' tag.
Definition Constants.h:222
@ VMM_CALLBACK_CALLING_STAGE_POST_EVENT_EMULATION
Definition DataTypes.h:94
#define DEBUGGER_OPERATION_WAS_SUCCESSFUL
General value to indicate that the operation or request was successful.
Definition ErrorCodes.h:23
@ TEST_BREAKPOINT_TURN_OFF_DBS
Definition RequestStructures.h:323
@ TEST_BREAKPOINT_TURN_OFF_BPS
Definition RequestStructures.h:316
@ TEST_BREAKPOINT_TURN_ON_DBS
Definition RequestStructures.h:324
@ TEST_BREAKPOINT_TURN_ON_BPS
Definition RequestStructures.h:317
struct _DEBUGGER_CALLSTACK_REQUEST DEBUGGER_CALLSTACK_REQUEST
request for callstack frames
@ DEBUGGEE_DETAILS_AND_SWITCH_THREAD_PERFORM_SWITCH
Definition RequestStructures.h:952
@ DEBUGGEE_DETAILS_AND_SWITCH_THREAD_GET_THREAD_DETAILS
Definition RequestStructures.h:953
@ DEBUGGEE_DETAILS_AND_SWITCH_PROCESS_GET_PROCESS_DETAILS
Definition RequestStructures.h:912
@ DEBUGGEE_DETAILS_AND_SWITCH_PROCESS_PERFORM_SWITCH
Definition RequestStructures.h:914
VOID CallstackShowFrames(PDEBUGGER_SINGLE_CALLSTACK_FRAME CallstackFrames, UINT32 FrameCount, DEBUGGER_CALLSTACK_DISPLAY_METHOD DisplayMethod, BOOLEAN Is32Bit)
Show stack frames.
Definition callstack.cpp:212
string SeparateTo64BitValue(UINT64 Value)
add ` between 64 bit values and convert them to string
Definition common.cpp:27
BOOLEAN ShowErrorMessage(UINT32 Error)
shows the error message
Definition debugger.cpp:38
int HyperDbgDisassembler32(unsigned char *BufferToDisassemble, UINT64 BaseAddress, UINT64 Size, UINT32 MaximumInstrDecoded, BOOLEAN ShowBranchIsTakenOrNot, PRFLAGS Rflags)
Disassemble 32 bit assemblies.
Definition disassembler.cpp:373
int HyperDbgDisassembler64(unsigned char *BufferToDisassemble, UINT64 BaseAddress, UINT64 Size, UINT32 MaximumInstrDecoded, BOOLEAN ShowBranchIsTakenOrNot, PRFLAGS Rflags)
Disassemble x64 assemblies.
Definition disassembler.cpp:333
UINT32 HyperDbgLengthDisassemblerEngine(unsigned char *BufferToDisassemble, UINT64 BuffLength, BOOLEAN Isx86_64)
Length Disassembler engine based on Zydis.
Definition disassembler.cpp:856
VOID CommandEventsHandleModifiedEvent(UINT64 Tag, PDEBUGGER_MODIFY_EVENTS ModifyEventRequest)
Handle events after modification.
Definition events.cpp:499
VOID CommandEventsClearAllEventsAndResetTags()
Clears all the events and resets the tag.
Definition events.cpp:470
BOOLEAN ForwardingCheckAndPerformEventForwarding(UINT32 OperationCode, CHAR *Message, UINT32 MessageLength)
Check and send the event result to the corresponding sources.
Definition forwarding.cpp:439
ULONG g_CurrentRemoteCore
Current core that the debuggee is debugging.
Definition globals.h:263
DEBUGGER_EVENT_AND_ACTION_RESULT g_DebuggeeResultOfRegisteringEvent
Holds the result of registering events from the remote debuggee.
Definition globals.h:283
BOOLEAN g_OutputSourcesInitialized
it shows whether the debugger started using output sources or not or in other words,...
Definition globals.h:408
BOOLEAN g_IsDebuggeeRunning
Shows if the debuggee is running or not.
Definition globals.h:250
UINT64 g_ResultOfEvaluatedExpression
Result of the expression that is evaluated in the debuggee.
Definition globals.h:630
BOOLEAN g_IsRunningInstruction32Bit
whether the Current executing instructions is 32-bit or 64 bit
Definition globals.h:210
BOOLEAN g_IgnoreNewLoggingMessages
Shows if the debugger should show debuggee's messages or not.
Definition globals.h:257
DEBUGGER_EVENT_AND_ACTION_RESULT g_DebuggeeResultOfAddingActionsToEvent
Holds the result of adding action to events from the remote debuggee.
Definition globals.h:289
UINT64 g_KernelBaseAddress
Shows the kernel base address.
Definition globals.h:566
BOOLEAN g_IsSerialConnectedToRemoteDebuggee
Shows if the debugger was connected to remote debuggee over (A remote guest)
Definition globals.h:231
UINT32 g_ErrorStateOfResultOfEvaluatedExpression
Shows the state of the evaluation of expression which whether contains error or not.
Definition globals.h:637
BYTE g_CurrentRunningInstruction[MAXIMUM_INSTR_SIZE]
Current executing instructions.
Definition globals.h:204
BOOLEAN g_SharedEventStatus
Shows whether the queried event is enabled or disabled.
Definition globals.h:307
RFLAGS * PRFLAGS
Definition pch.h:34
VOID CommandPteShowResults(UINT64 TargetVa, PDEBUGGER_READ_PAGE_TABLE_ENTRIES_DETAILS PteRead)
show results of !pte command
Definition pte.cpp:47
The structure of breakpoint modification requests packet in HyperDbg.
Definition RequestStructures.h:1090
UINT32 Result
Definition RequestStructures.h:1093
The structure of bp command packet in HyperDbg.
Definition RequestStructures.h:1060
UINT32 Result
Definition RequestStructures.h:1067
The structure of changing core packet in HyperDbg.
Definition RequestStructures.h:599
UINT32 Result
Definition RequestStructures.h:601
UINT32 NewCore
Definition RequestStructures.h:600
The structure of changing process and show process packet in HyperDbg.
Definition RequestStructures.h:924
UINT32 ProcessId
Definition RequestStructures.h:926
UINT64 Process
Definition RequestStructures.h:927
DEBUGGEE_DETAILS_AND_SWITCH_PROCESS_TYPE ActionType
Definition RequestStructures.h:925
UINT32 Result
Definition RequestStructures.h:931
UCHAR ProcessName[16]
Definition RequestStructures.h:929
The structure of changing thead and show thread packet in HyperDbg.
Definition RequestStructures.h:963
DEBUGGEE_DETAILS_AND_SWITCH_THREAD_TYPE ActionType
Definition RequestStructures.h:964
UINT64 Thread
Definition RequestStructures.h:967
UINT64 Process
Definition RequestStructures.h:968
UINT32 ProcessId
Definition RequestStructures.h:966
UCHAR ProcessName[16]
Definition RequestStructures.h:970
UINT32 ThreadId
Definition RequestStructures.h:965
UINT32 Result
Definition RequestStructures.h:972
The structure of .formats result packet in HyperDbg.
Definition RequestStructures.h:1033
UINT32 Result
Definition RequestStructures.h:1035
UINT64 Value
Definition RequestStructures.h:1034
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
Register Descriptor Structure to use in r command.
Definition RequestStructures.h:1156
Register Descriptor Structure to write on registers.
Definition RequestStructures.h:1171
The structure of result of search packet in HyperDbg.
Definition RequestStructures.h:1142
UINT32 CountOfResults
Definition RequestStructures.h:1143
UINT32 Result
Definition RequestStructures.h:1144
The structure of script packet in HyperDbg.
Definition RequestStructures.h:1122
BOOLEAN IsFormat
Definition RequestStructures.h:1125
UINT32 Result
Definition RequestStructures.h:1126
request that shows, symbol reload process is finished
Definition Symbols.h:89
UINT64 KernelStatus
Definition Symbols.h:90
request for callstack frames
Definition RequestStructures.h:789
UINT32 KernelStatus
Definition RequestStructures.h:791
UINT32 FrameCount
Definition RequestStructures.h:794
BOOLEAN Is32Bit
Definition RequestStructures.h:790
DEBUGGER_CALLSTACK_DISPLAY_METHOD DisplayMethod
Definition RequestStructures.h:792
request for test query buffers
Definition RequestStructures.h:333
UINT32 KernelStatus
Definition RequestStructures.h:336
DEBUGGER_TEST_QUERY_STATE RequestType
Definition RequestStructures.h:334
request for edit virtual and physical memory
Definition RequestStructures.h:482
Status of register buffers.
Definition Events.h:423
request for flushing buffers
Definition RequestStructures.h:294
UINT32 CountOfMessagesThatSetAsReadFromVmxRoot
Definition RequestStructures.h:296
UINT32 CountOfMessagesThatSetAsReadFromVmxNonRoot
Definition RequestStructures.h:297
UINT32 KernelStatus
Definition RequestStructures.h:295
request for modifying events (enable/disable/clear)
Definition Events.h:242
DEBUGGER_MODIFY_EVENTS_TYPE TypeOfAction
Definition Events.h:246
BOOLEAN IsEnabled
Definition Events.h:247
UINT64 KernelStatus
Definition Events.h:244
UINT64 Tag
Definition Events.h:243
requests for the '.pagein' command
Definition RequestStructures.h:73
UINT32 KernelStatus
Definition RequestStructures.h:78
request to make this computer to a debuggee
Definition RequestStructures.h:582
UINT64 KernelBaseAddress
Definition RequestStructures.h:585
CHAR OsName[MAXIMUM_CHARACTER_FOR_OS_NAME]
Definition RequestStructures.h:587
request for reading virtual and physical memory
Definition RequestStructures.h:266
request for !pte command
Definition RequestStructures.h:22
UINT64 VirtualAddress
Definition RequestStructures.h:23
UINT32 KernelStatus
Definition RequestStructures.h:38
request for performing a short-circuiting event
Definition Events.h:256
BOOLEAN IsShortCircuiting
Definition Events.h:258
UINT64 KernelStatus
Definition Events.h:257
The structure for saving the callstack frame of one parameter.
Definition RequestStructures.h:761
request to add new symbol detail or update a previous symbol table entry
Definition Symbols.h:73
MODULE_SYMBOL_DETAIL SymbolDetailPacket
Definition Symbols.h:76
requests for !va2pa and !pa2va commands
Definition RequestStructures.h:54
BOOLEAN IsVirtual2Physical
Definition RequestStructures.h:58
UINT32 KernelStatus
Definition RequestStructures.h:59
UINT64 PhysicalAddress
Definition RequestStructures.h:56
UINT64 VirtualAddress
Definition RequestStructures.h:55
BOOLEAN SymbolBuildAndUpdateSymbolTable(PMODULE_SYMBOL_DETAIL SymbolDetail)
Allocate (build) and update the symbol table whenever a debuggee is attached on the debugger mode.
Definition symbol.cpp:940
VOID SymbolInitialReload()
Initial load of symbols (for previously download symbols)
Definition symbol.cpp:34
VOID CommandTrackHandleReceivedInstructions(unsigned char *BufferToDisassemble, UINT32 BuffLength, BOOLEAN Isx86_64, UINT64 RipAddress)
Handle received 'call' or 'ret'.
Definition track.cpp:211