HyperDbg Debugger
Loading...
Searching...
No Matches
commands.h
Go to the documentation of this file.
1
13#pragma once
14
15using namespace std;
16
18// Externs //
20
21extern HANDLE g_DeviceHandle;
22
24// Settings //
26
27VOID
29
30VOID
31CommandSettingsSetValueFromConfigFile(std::string OptionName, std::string OptionValue);
32
34CommandSettingsGetValueFromConfigFile(std::string OptionName, std::string & OptionValue);
35
37// Functions //
39
40VOID
42
43INT
45
46VOID
47ShowMessages(const CHAR * Fmt, ...);
48
49string
51
52VOID
53ShowMemoryCommandDB(UCHAR * OutputBuffer, UINT32 Size, UINT64 Address, DEBUGGER_READ_MEMORY_TYPE MemoryType, UINT64 Length);
54
55VOID
56ShowMemoryCommandDD(UCHAR * OutputBuffer, UINT32 Size, UINT64 Address, DEBUGGER_READ_MEMORY_TYPE MemoryType, UINT64 Length);
57
58VOID
59ShowMemoryCommandDC(UCHAR * OutputBuffer, UINT32 Size, UINT64 Address, DEBUGGER_READ_MEMORY_TYPE MemoryType, UINT64 Length);
60
61VOID
62ShowMemoryCommandDQ(UCHAR * OutputBuffer, UINT32 Size, UINT64 Address, DEBUGGER_READ_MEMORY_TYPE MemoryType, UINT64 Length);
63
64VOID
66
68HyperDbgIsConditionalJumpTaken(UCHAR * BufferToDisassemble,
69 UINT64 BuffLength,
70 RFLAGS Rflags,
71 BOOLEAN Isx86_64);
72
73INT
74HyperDbgDisassembler64(UCHAR * BufferToDisassemble,
75 UINT64 BaseAddress,
76 UINT64 Size,
77 UINT32 MaximumInstrDecoded,
78 BOOLEAN ShowBranchIsTakenOrNot,
79 PRFLAGS Rflags);
80
81INT
82HyperDbgDisassembler32(UCHAR * BufferToDisassemble,
83 UINT64 BaseAddress,
84 UINT64 Size,
85 UINT32 MaximumInstrDecoded,
86 BOOLEAN ShowBranchIsTakenOrNot,
87 PRFLAGS Rflags);
88
91 UCHAR * BufferToDisassemble,
92 UINT64 BuffLength,
93 BOOLEAN Isx86_64);
94
97 UCHAR * BufferToDisassemble,
98 UINT64 BuffLength,
99 BOOLEAN Isx86_64,
100 PUINT32 CallLength);
101
104 UCHAR * BufferToDisassemble,
105 UINT64 CurrentRip,
106 UINT32 BuffLength,
107 BOOLEAN Isx86_64,
108 PBOOLEAN IsRet);
109
112 UCHAR * BufferToDisassemble,
113 UINT64 BuffLength,
114 BOOLEAN Isx86_64);
115
116UINT32
118 UCHAR * BufferToDisassemble,
119 UINT64 BuffLength,
120 BOOLEAN Isx86_64);
121
122VOID
124 UINT64 Address,
125 DEBUGGER_READ_MEMORY_TYPE MemoryType,
126 DEBUGGER_READ_READING_TYPE ReadingType,
127 UINT32 Pid,
128 UINT32 Size,
130
132HyperDbgReadMemory(UINT64 TargetAddress,
133 DEBUGGER_READ_MEMORY_TYPE MemoryType,
134 DEBUGGER_READ_READING_TYPE ReadingType,
135 UINT32 Pid,
136 UINT32 Size,
137 BOOLEAN GetAddressMode,
139 BYTE * TargetBufferToStore,
140 UINT32 * ReturnLength);
141
142VOID
144
145VOID
147
149CheckMultilineCommand(CHAR * CurrentCommand, BOOLEAN Reset);
150
153
154VOID
155CommandDumpSaveIntoFile(PVOID Buffer, UINT32 Length);
156
158// Type of Commands //
160
172
177typedef std::tuple<CommandParsingTokenType, std::string, std::string> CommandToken;
178
183typedef VOID (*CommandFuncTypeParser)(vector<CommandToken> CommandTokens, string Command);
184
189typedef VOID (*CommandHelpFuncType)();
190
202
207typedef std::map<std::string, COMMAND_DETAIL> CommandType;
208
213#define DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE 0x1
214#define DEBUGGER_COMMAND_ATTRIBUTE_EVENT 0x2 | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
215#define DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_REMOTE_CONNECTION 0x4
216#define DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER 0x8
217#define DEBUGGER_COMMAND_ATTRIBUTE_WONT_STOP_DEBUGGER_AGAIN 0x10
218#define DEBUGGER_COMMAND_ATTRIBUTE_HWDBG 0x20
219
224#define DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL \
225 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_REMOTE_CONNECTION
226
231#define DEBUGGER_COMMAND_CLEAR_ATTRIBUTES \
232 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
233
234#define DEBUGGER_COMMAND_HELP_ATTRIBUTES \
235 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
236
237#define DEBUGGER_COMMAND_CONNECT_ATTRIBUTES \
238 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
239
240#define DEBUGGER_COMMAND_LISTEN_ATTRIBUTES \
241 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
242
243#define DEBUGGER_COMMAND_G_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
244
245#define DEBUGGER_COMMAND_GG_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
246
247#define DEBUGGER_COMMAND_ATTACH_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_WONT_STOP_DEBUGGER_AGAIN
248
249#define DEBUGGER_COMMAND_DETACH_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_WONT_STOP_DEBUGGER_AGAIN
250
251#define DEBUGGER_COMMAND_SWITCH_ATTRIBUTES NULL
252
253#define DEBUGGER_COMMAND_CONTINUE_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_WONT_STOP_DEBUGGER_AGAIN
254
255#define DEBUGGER_COMMAND_PAUSE_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_WONT_STOP_DEBUGGER_AGAIN
256
257#define DEBUGGER_COMMAND_START_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_WONT_STOP_DEBUGGER_AGAIN
258
259#define DEBUGGER_COMMAND_RESTART_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_WONT_STOP_DEBUGGER_AGAIN
260
261#define DEBUGGER_COMMAND_KILL_ATTRIBUTES NULL
262
263#define DEBUGGER_COMMAND_PROCESS_ATTRIBUTES \
264 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
265
266#define DEBUGGER_COMMAND_THREAD_ATTRIBUTES \
267 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
268
269#define DEBUGGER_COMMAND_SLEEP_ATTRIBUTES \
270 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
271
272#define DEBUGGER_COMMAND_EVENTS_ATTRIBUTES \
273 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
274
275#define DEBUGGER_COMMAND_SETTINGS_ATTRIBUTES \
276 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
277
278#define DEBUGGER_COMMAND_DISCONNECT_ATTRIBUTES \
279 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
280
281#define DEBUGGER_COMMAND_DEBUG_ATTRIBUTES \
282 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
283
284#define DEBUGGER_COMMAND_DOT_STATUS_ATTRIBUTES \
285 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
286
287#define DEBUGGER_COMMAND_STATUS_ATTRIBUTES NULL
288
289#define DEBUGGER_COMMAND_LOAD_ATTRIBUTES NULL
290
291#define DEBUGGER_COMMAND_EXIT_ATTRIBUTES \
292 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
293
294#define DEBUGGER_COMMAND_FLUSH_ATTRIBUTES \
295 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
296
297#define DEBUGGER_COMMAND_UNLOAD_ATTRIBUTES NULL
298
299#define DEBUGGER_COMMAND_SCRIPT_ATTRIBUTES \
300 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
301
302#define DEBUGGER_COMMAND_OUTPUT_ATTRIBUTES \
303 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
304
305#define DEBUGGER_COMMAND_PRINT_ATTRIBUTES \
306 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
307
308#define DEBUGGER_COMMAND_EVAL_ATTRIBUTES \
309 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
310
311#define DEBUGGER_COMMAND_LOGOPEN_ATTRIBUTES \
312 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
313
314#define DEBUGGER_COMMAND_LOGCLOSE_ATTRIBUTES \
315 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
316
317#define DEBUGGER_COMMAND_TEST_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
318
319#define DEBUGGER_COMMAND_CPU_ATTRIBUTES NULL
320
321#define DEBUGGER_COMMAND_WRMSR_ATTRIBUTES NULL
322
323#define DEBUGGER_COMMAND_RDMSR_ATTRIBUTES NULL
324
325#define DEBUGGER_COMMAND_VA2PA_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
326
327#define DEBUGGER_COMMAND_PA2VA_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
328
329#define DEBUGGER_COMMAND_FORMATS_ATTRIBUTES \
330 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
331
332#define DEBUGGER_COMMAND_PTE_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
333
334#define DEBUGGER_COMMAND_APIC_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
335
336#define DEBUGGER_COMMAND_IOAPIC_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
337
338#define DEBUGGER_COMMAND_CORE_ATTRIBUTES \
339 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
340
341#define DEBUGGER_COMMAND_MONITOR_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
342
343#define DEBUGGER_COMMAND_VMCALL_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
344
345#define DEBUGGER_COMMAND_EPTHOOK_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
346
347#define DEBUGGER_COMMAND_EPTHOOK2_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
348
349#define DEBUGGER_COMMAND_CPUID_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
350
351#define DEBUGGER_COMMAND_XSETBV_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
352
353#define DEBUGGER_COMMAND_MSRREAD_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
354
355#define DEBUGGER_COMMAND_MSRWRITE_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
356
357#define DEBUGGER_COMMAND_TSC_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
358
359#define DEBUGGER_COMMAND_PMC_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
360
361#define DEBUGGER_COMMAND_CRWRITE_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
362
363#define DEBUGGER_COMMAND_DR_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
364
365#define DEBUGGER_COMMAND_IOIN_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
366
367#define DEBUGGER_COMMAND_IOOUT_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
368
369#define DEBUGGER_COMMAND_EXCEPTION_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
370
371#define DEBUGGER_COMMAND_INTERRUPT_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
372
373#define DEBUGGER_COMMAND_SYSCALL_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
374
375#define DEBUGGER_COMMAND_SYSRET_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
376
377#define DEBUGGER_COMMAND_MODE_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
378
379#define DEBUGGER_COMMAND_TRACE_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
380
381#define DEBUGGER_COMMAND_HIDE_ATTRIBUTES NULL
382
383#define DEBUGGER_COMMAND_UNHIDE_ATTRIBUTES NULL
384
385#define DEBUGGER_COMMAND_MEASURE_ATTRIBUTES NULL
386
387#define DEBUGGER_COMMAND_LM_ATTRIBUTES NULL
388
389#define DEBUGGER_COMMAND_P_ATTRIBUTES \
390 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
391
392#define DEBUGGER_COMMAND_T_ATTRIBUTES \
393 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
394
395#define DEBUGGER_COMMAND_I_ATTRIBUTES \
396 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
397
398#define DEBUGGER_COMMAND_D_AND_U_ATTRIBUTES \
399 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
400
401#define DEBUGGER_COMMAND_E_ATTRIBUTES \
402 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
403
404#define DEBUGGER_COMMAND_S_ATTRIBUTES \
405 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
406
407#define DEBUGGER_COMMAND_R_ATTRIBUTES \
408 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
409
410#define DEBUGGER_COMMAND_BP_ATTRIBUTES \
411 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
412
413#define DEBUGGER_COMMAND_BE_ATTRIBUTES \
414 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
415
416#define DEBUGGER_COMMAND_BD_ATTRIBUTES \
417 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
418
419#define DEBUGGER_COMMAND_BC_ATTRIBUTES \
420 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
421
422#define DEBUGGER_COMMAND_BL_ATTRIBUTES \
423 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
424
425#define DEBUGGER_COMMAND_SYMPATH_ATTRIBUTES \
426 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
427
428#define DEBUGGER_COMMAND_SYM_ATTRIBUTES \
429 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
430
431#define DEBUGGER_COMMAND_X_ATTRIBUTES \
432 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
433
434#define DEBUGGER_COMMAND_PREALLOC_ATTRIBUTES NULL
435
436#define DEBUGGER_COMMAND_PREACTIVATE_ATTRIBUTES NULL
437
438#define DEBUGGER_COMMAND_K_ATTRIBUTES \
439 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
440
441#define DEBUGGER_COMMAND_DT_ATTRIBUTES \
442 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
443
444#define DEBUGGER_COMMAND_STRUCT_ATTRIBUTES \
445 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
446
447#define DEBUGGER_COMMAND_PE_ATTRIBUTES NULL
448
449#define DEBUGGER_COMMAND_REV_ATTRIBUTES NULL
450
451#define DEBUGGER_COMMAND_TRACK_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
452
453#define DEBUGGER_COMMAND_PAGEIN_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
454
455#define DEBUGGER_COMMAND_DUMP_ATTRIBUTES \
456 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
457
458#define DEBUGGER_COMMAND_GU_ATTRIBUTES \
459 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
460
461#define DEBUGGER_COMMAND_HWDBG_HW_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_HWDBG
462
463#define DEBUGGER_COMMAND_HWDBG_HW_CLK_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_HWDBG
464
465#define DEBUGGER_COMMAND_A_ATTRIBUTES \
466 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
467
468#define DEBUGGER_COMMAND_PCITREE_ATTRIBUTES \
469 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
470
471#define DEBUGGER_COMMAND_PCICAM_ATTRIBUTES \
472 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
473
474#define DEBUGGER_COMMAND_IDT_ATTRIBUTES \
475 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
476
477#define DEBUGGER_COMMAND_SMI_ATTRIBUTES \
478 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
479
480#define DEBUGGER_COMMAND_LBR_ATTRIBUTES \
481 NULL
482
483#define DEBUGGER_COMMAND_LBRDUMP_ATTRIBUTES \
484 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
485
486#define DEBUGGER_COMMAND_PT_ATTRIBUTES \
487 NULL
488
490// Command Functions //
492
493VOID
494CommandTest(vector<CommandToken> CommandTokens, string Command);
495
496VOID
497CommandCls(vector<CommandToken> CommandTokens, string Command);
498
499VOID
500CommandReadMemoryAndDisassembler(vector<CommandToken> CommandTokens, string Command);
501
502VOID
503CommandConnect(vector<CommandToken> CommandTokens, string Command);
504
505VOID
506CommandLoad(vector<CommandToken> CommandTokens, string Command);
507
508VOID
509CommandUnload(vector<CommandToken> CommandTokens, string Command);
510
511VOID
512CommandScript(vector<CommandToken> CommandTokens, string Command);
513
514VOID
515CommandCpu(vector<CommandToken> CommandTokens, string Command);
516
517VOID
518CommandExit(vector<CommandToken> CommandTokens, string Command);
519
520VOID
521CommandDisconnect(vector<CommandToken> CommandTokens, string Command);
522
523VOID
524CommandFormats(vector<CommandToken> CommandTokens, string Command);
525
526VOID
527CommandRdmsr(vector<CommandToken> CommandTokens, string Command);
528
529VOID
530CommandWrmsr(vector<CommandToken> CommandTokens, string Command);
531
532VOID
533CommandPte(vector<CommandToken> CommandTokens, string Command);
534
535VOID
536CommandMonitor(vector<CommandToken> CommandTokens, string Command);
537
538VOID
539CommandSyscallAndSysret(vector<CommandToken> CommandTokens, string Command);
540
541VOID
542CommandEptHook(vector<CommandToken> CommandTokens, string Command);
543
544VOID
545CommandEptHook2(vector<CommandToken> CommandTokens, string Command);
546
547VOID
548CommandCpuid(vector<CommandToken> CommandTokens, string Command);
549
550VOID
551CommandMsrread(vector<CommandToken> CommandTokens, string Command);
552
553VOID
554CommandMsrwrite(vector<CommandToken> CommandTokens, string Command);
555
556VOID
557CommandTsc(vector<CommandToken> CommandTokens, string Command);
558
559VOID
560CommandPmc(vector<CommandToken> CommandTokens, string Command);
561
562VOID
563CommandException(vector<CommandToken> CommandTokens, string Command);
564
565VOID
566CommandCrwrite(vector<CommandToken> CommandTokens, string Command);
567
568VOID
569CommandDr(vector<CommandToken> CommandTokens, string Command);
570
571VOID
572CommandInterrupt(vector<CommandToken> CommandTokens, string Command);
573
574VOID
575CommandIoin(vector<CommandToken> CommandTokens, string Command);
576
577VOID
578CommandIoout(vector<CommandToken> CommandTokens, string Command);
579
580VOID
581CommandVmcall(vector<CommandToken> CommandTokens, string Command);
582
583VOID
584CommandMode(vector<CommandToken> CommandTokens, string Command);
585
586VOID
587CommandTrace(vector<CommandToken> CommandTokens, string Command);
588
589VOID
590CommandHide(vector<CommandToken> CommandTokens, string Command);
591
592VOID
593CommandUnhide(vector<CommandToken> CommandTokens, string Command);
594
595VOID
596CommandLogopen(vector<CommandToken> CommandTokens, string Command);
597
598VOID
599CommandLogclose(vector<CommandToken> CommandTokens, string Command);
600
601VOID
602CommandVa2pa(vector<CommandToken> CommandTokens, string Command);
603
604VOID
605CommandPa2va(vector<CommandToken> CommandTokens, string Command);
606
607VOID
608CommandEvents(vector<CommandToken> CommandTokens, string Command);
609
610VOID
611CommandG(vector<CommandToken> CommandTokens, string Command);
612
613VOID
614CommandContinue(vector<CommandToken> CommandTokens, string Command);
615
616VOID
617CommandGg(vector<CommandToken> CommandTokens, string Command);
618
619VOID
620CommandLm(vector<CommandToken> CommandTokens, string Command);
621
622VOID
623CommandSleep(vector<CommandToken> CommandTokens, string Command);
624
625VOID
626CommandEditMemory(vector<CommandToken> CommandTokens, string Command);
627
628VOID
629CommandSearchMemory(vector<CommandToken> CommandTokens, string Command);
630
631VOID
632CommandMeasure(vector<CommandToken> CommandTokens, string Command);
633
634VOID
635CommandSettings(vector<CommandToken> CommandTokens, string Command);
636
637VOID
638CommandFlush(vector<CommandToken> CommandTokens, string Command);
639
640VOID
641CommandPause(vector<CommandToken> CommandTokens, string Command);
642
643VOID
644CommandListen(vector<CommandToken> CommandTokens, string Command);
645
646VOID
647CommandStatus(vector<CommandToken> CommandTokens, string Command);
648
649VOID
650CommandAttach(vector<CommandToken> CommandTokens, string Command);
651
652VOID
653CommandDetach(vector<CommandToken> CommandTokens, string Command);
654
655VOID
656CommandStart(vector<CommandToken> CommandTokens, string Command);
657
658VOID
659CommandRestart(vector<CommandToken> CommandTokens, string Command);
660
661VOID
662CommandSwitch(vector<CommandToken> CommandTokens, string Command);
663
664VOID
665CommandKill(vector<CommandToken> CommandTokens, string Command);
666
667VOID
668CommandT(vector<CommandToken> CommandTokens, string Command);
669
670VOID
671CommandI(vector<CommandToken> CommandTokens, string Command);
672
673VOID
674CommandPrint(vector<CommandToken> CommandTokens, string Command);
675
676VOID
677CommandOutput(vector<CommandToken> CommandTokens, string Command);
678
679VOID
680CommandDebug(vector<CommandToken> CommandTokens, string Command);
681
682VOID
683CommandP(vector<CommandToken> CommandTokens, string Command);
684
685VOID
686CommandCore(vector<CommandToken> CommandTokens, string Command);
687
688VOID
689CommandProcess(vector<CommandToken> CommandTokens, string Command);
690
691VOID
692CommandThread(vector<CommandToken> CommandTokens, string Command);
693
694VOID
695CommandEval(vector<CommandToken> CommandTokens, string Command);
696
697VOID
698CommandR(vector<CommandToken> CommandTokens, string Command);
699
700VOID
701CommandBp(vector<CommandToken> CommandTokens, string Command);
702
703VOID
704CommandBl(vector<CommandToken> CommandTokens, string Command);
705
706VOID
707CommandBe(vector<CommandToken> CommandTokens, string Command);
708
709VOID
710CommandBd(vector<CommandToken> CommandTokens, string Command);
711
712VOID
713CommandBc(vector<CommandToken> CommandTokens, string Command);
714
715VOID
716CommandSympath(vector<CommandToken> CommandTokens, string Command);
717
718VOID
719CommandSym(vector<CommandToken> CommandTokens, string Command);
720
721VOID
722CommandX(vector<CommandToken> CommandTokens, string Command);
723
724VOID
725CommandPrealloc(vector<CommandToken> CommandTokens, string Command);
726
727VOID
728CommandPreactivate(vector<CommandToken> CommandTokens, string Command);
729
730VOID
731CommandDtAndStruct(vector<CommandToken> CommandTokens, string Command);
732
733VOID
734CommandK(vector<CommandToken> CommandTokens, string Command);
735
736VOID
737CommandPe(vector<CommandToken> CommandTokens, string Command);
738
739VOID
740CommandRev(vector<CommandToken> CommandTokens, string Command);
741
742VOID
743CommandApic(vector<CommandToken> CommandTokens, string Command);
744
745VOID
746CommandIoapic(vector<CommandToken> CommandTokens, string Command);
747
748VOID
749CommandTrack(vector<CommandToken> CommandTokens, string Command);
750
751VOID
752CommandPagein(vector<CommandToken> CommandTokens, string Command);
753
754VOID
755CommandDump(vector<CommandToken> CommandTokens, string Command);
756
757VOID
758CommandGu(vector<CommandToken> CommandTokens, string Command);
759
760VOID
761CommandAssemble(vector<CommandToken> CommandTokens, string Command);
762
763VOID
764CommandPcitree(vector<CommandToken> CommandTokens, string Command);
765
766VOID
767CommandPcicam(vector<CommandToken> CommandTokens, string Command);
768
769VOID
770CommandIdt(vector<CommandToken> CommandTokens, string Command);
771
772VOID
773CommandSmi(vector<CommandToken> CommandTokens, string Command);
774
775VOID
776CommandLbr(vector<CommandToken> CommandTokens, string Command);
777
778VOID
779CommandLbrdump(vector<CommandToken> CommandTokens, string Command);
780
781VOID
782CommandPt(vector<CommandToken> CommandTokens, string Command);
783
784//
785// hwdbg commands
786//
787VOID
788CommandHwClk(vector<CommandToken> CommandTokens, string Command);
789
790VOID
791CommandHw(vector<CommandToken> CommandTokens, string Command);
792
793VOID
794CommandXsetbv(vector<CommandToken> CommandTokens, string Command);
795
796VOID
UCHAR BOOLEAN
Definition BasicTypes.h:35
void * PVOID
Definition BasicTypes.h:56
int INT
Definition BasicTypes.h:43
unsigned char BYTE
Definition BasicTypes.h:40
unsigned char UCHAR
Definition BasicTypes.h:34
BOOLEAN * PBOOLEAN
Definition BasicTypes.h:36
unsigned int * PUINT32
Definition BasicTypes.h:54
unsigned int UINT32
Definition BasicTypes.h:54
char CHAR
Definition BasicTypes.h:33
struct _DEBUGGER_READ_PAGE_TABLE_ENTRIES_DETAILS * PDEBUGGER_READ_PAGE_TABLE_ENTRIES_DETAILS
enum _DEBUGGER_SHOW_MEMORY_STYLE DEBUGGER_SHOW_MEMORY_STYLE
the way that debugger should show the details of memory or disassemble them
struct _DEBUGGER_DT_COMMAND_OPTIONS * PDEBUGGER_DT_COMMAND_OPTIONS
enum _DEBUGGER_READ_READING_TYPE DEBUGGER_READ_READING_TYPE
different types of reading memory
enum _DEBUGGER_CONDITIONAL_JUMP_STATUS DEBUGGER_CONDITIONAL_JUMP_STATUS
Whether a jump is taken or not taken.
enum _DEBUGGER_READ_MEMORY_TYPE DEBUGGER_READ_MEMORY_TYPE
different type of addresses
enum _DEBUGGER_READ_MEMORY_ADDRESS_MODE DEBUGGER_READ_MEMORY_ADDRESS_MODE
different address mode
VOID CommandBl(vector< CommandToken > CommandTokens, string Command)
handler of the bl command
Definition bl.cpp:41
VOID CommandPcitree(vector< CommandToken > CommandTokens, string Command)
!pcitree command handler
Definition pcitree.cpp:45
VOID CommandBd(vector< CommandToken > CommandTokens, string Command)
handler of bd command
Definition bd.cpp:45
VOID CommandLm(vector< CommandToken > CommandTokens, string Command)
handle lm command
Definition lm.cpp:358
string SeparateTo64BitValue(UINT64 Value)
VOID CommandAssemble(vector< CommandToken > CommandTokens, string Command)
a and !a commands handler
Definition a.cpp:182
VOID CommandPte(vector< CommandToken > CommandTokens, string Command)
!pte command handler
Definition pte.cpp:93
VOID CommandBp(vector< CommandToken > CommandTokens, string Command)
bp command handler
Definition bp.cpp:168
VOID CommandPa2va(vector< CommandToken > CommandTokens, string Command)
!pa2va command handler
Definition pa2va.cpp:50
VOID CommandXsetbvHelp()
help of the !xsetbv command
Definition xsetbv.cpp:20
VOID CommandKill(vector< CommandToken > CommandTokens, string Command)
.kill command handler
Definition kill.cpp:42
VOID CommandReadMemoryAndDisassembler(vector< CommandToken > CommandTokens, string Command)
u* d* !u* !d* commands handler
Definition d-u.cpp:73
VOID CommandMsrwrite(vector< CommandToken > CommandTokens, string Command)
!msrwrite command handler
Definition msrwrite.cpp:47
VOID CommandPagein(vector< CommandToken > CommandTokens, string Command)
.pagein command handler
Definition pagein.cpp:266
VOID CommandFormats(vector< CommandToken > CommandTokens, string Command)
handler of .formats command
Definition formats.cpp:106
VOID CommandUnhide(vector< CommandToken > CommandTokens, string Command)
!unhide command handler
Definition unhide.cpp:100
VOID ShowMemoryCommandDC(UCHAR *OutputBuffer, UINT32 Size, UINT64 Address, DEBUGGER_READ_MEMORY_TYPE MemoryType, UINT64 Length)
Show memory in dword format (DC).
Definition readmem.cpp:490
BOOLEAN HyperDbgCheckWhetherTheCurrentInstructionIsCallOrRet(UCHAR *BufferToDisassemble, UINT64 CurrentRip, UINT32 BuffLength, BOOLEAN Isx86_64, PBOOLEAN IsRet)
Check whether the current instruction is a 'call' or 'ret' or not.
Definition disassembler.cpp:983
VOID CommandMeasure(vector< CommandToken > CommandTokens, string Command)
!measure command handler
Definition measure.cpp:56
VOID CommandApic(vector< CommandToken > CommandTokens, string Command)
!apic command handler
Definition apic.cpp:186
VOID CommandRdmsr(vector< CommandToken > CommandTokens, string Command)
rdmsr command handler
Definition rdmsr.cpp:120
VOID InitializeCommandsDictionary()
Initialize commands and attributes.
Definition interpreter.cpp:1343
VOID CommandTrack(vector< CommandToken > CommandTokens, string Command)
handler of !track command
Definition track.cpp:60
VOID CommandStatus(vector< CommandToken > CommandTokens, string Command)
.status and status command handler
Definition status.cpp:51
VOID CommandRestart(vector< CommandToken > CommandTokens, string Command)
.restart command handler
Definition restart.cpp:47
VOID CommandSympath(vector< CommandToken > CommandTokens, string Command)
.sympath command handler
Definition sympath.cpp:45
VOID CommandDr(vector< CommandToken > CommandTokens, string Command)
!dr command handler
Definition dr.cpp:46
VOID CommandPe(vector< CommandToken > CommandTokens, string Command)
.pe command handler
Definition pe.cpp:42
VOID CommandVa2pa(vector< CommandToken > CommandTokens, string Command)
!va2pa command handler
Definition va2pa.cpp:51
VOID CommandLbrdump(vector< CommandToken > CommandTokens, string Command)
!lbrdump command handler
Definition lbrdump.cpp:240
UINT32 HyperDbgLengthDisassemblerEngine(UCHAR *BufferToDisassemble, UINT64 BuffLength, BOOLEAN Isx86_64)
Length Disassembler engine based on Zydis.
Definition disassembler.cpp:856
VOID CommandDtAndStruct(vector< CommandToken > CommandTokens, string Command)
dt and struct command handler
Definition dt-struct.cpp:429
INT HyperDbgDisassembler64(UCHAR *BufferToDisassemble, UINT64 BaseAddress, UINT64 Size, UINT32 MaximumInstrDecoded, BOOLEAN ShowBranchIsTakenOrNot, PRFLAGS Rflags)
Disassemble x64 assemblies.
Definition disassembler.cpp:333
VOID CommandCore(vector< CommandToken > CommandTokens, string Command)
~ command handler
Definition core.cpp:47
VOID CommandXsetbv(vector< CommandToken > CommandTokens, string Command)
!xsetbv command handler
Definition xsetbv.cpp:47
VOID CommandDumpSaveIntoFile(PVOID Buffer, UINT32 Length)
Saves the received buffers into the files.
Definition dump.cpp:308
VOID CommandCpuid(vector< CommandToken > CommandTokens, string Command)
!cpuid command handler
Definition cpuid.cpp:48
VOID CommandLoad(vector< CommandToken > CommandTokens, string Command)
load command handler
Definition load.cpp:50
VOID CommandSmi(vector< CommandToken > CommandTokens, string Command)
!smi command handler
Definition smi.cpp:123
VOID CommandHw(vector< CommandToken > CommandTokens, string Command)
!hw command handler
Definition hw.cpp:46
VOID CommandWrmsr(vector< CommandToken > CommandTokens, string Command)
wrmsr command handler
Definition wrmsr.cpp:47
VOID CommandSettingsSetValueFromConfigFile(std::string OptionName, std::string OptionValue)
Sets the setting values from config file.
Definition settings.cpp:115
VOID CommandX(vector< CommandToken > CommandTokens, string Command)
x command handler
Definition x.cpp:41
VOID CommandSleep(vector< CommandToken > CommandTokens, string Command)
sleep command help
Definition sleep.cpp:38
VOID CommandLogclose(vector< CommandToken > CommandTokens, string Command)
.logclose command handler
Definition logclose.cpp:42
INT HyperDbgDisassembler32(UCHAR *BufferToDisassemble, UINT64 BaseAddress, UINT64 Size, UINT32 MaximumInstrDecoded, BOOLEAN ShowBranchIsTakenOrNot, PRFLAGS Rflags)
Disassemble 32 bit assemblies.
Definition disassembler.cpp:373
VOID CommandException(vector< CommandToken > CommandTokens, string Command)
!exception command handler
Definition exception.cpp:51
VOID CommandCpu(vector< CommandToken > CommandTokens, string Command)
cpu command handler
Definition cpu.cpp:36
VOID CommandTest(vector< CommandToken > CommandTokens, string Command)
test command handler
Definition test.cpp:434
VOID CommandT(vector< CommandToken > CommandTokens, string Command)
handler of t command
Definition t.cpp:53
VOID CommandContinue(vector< CommandToken > CommandTokens, string Command)
handler of continue command
Definition continue.cpp:47
VOID CommandI(vector< CommandToken > CommandTokens, string Command)
handler of i command
Definition i.cpp:56
VOID CommandEval(vector< CommandToken > CommandTokens, string Command)
handler of ? command
Definition eval.cpp:196
VOID CommandPteShowResults(UINT64 TargetVa, PDEBUGGER_READ_PAGE_TABLE_ENTRIES_DETAILS PteRead)
show results of !pte command
Definition pte.cpp:48
VOID CommandPcicam(vector< CommandToken > CommandTokens, string Command)
!pcicam command handler
Definition pcicam.cpp:47
VOID CommandHwClk(vector< CommandToken > CommandTokens, string Command)
!hw_clk command handler
Definition hw_clk.cpp:154
VOID CommandBc(vector< CommandToken > CommandTokens, string Command)
handler of bc command
Definition bc.cpp:45
VOID CommandSearchMemory(vector< CommandToken > CommandTokens, string Command)
!s* s* commands handler
Definition s.cpp:141
VOID CommandPrint(vector< CommandToken > CommandTokens, string Command)
handler of print command
Definition print.cpp:42
VOID CommandEptHook(vector< CommandToken > CommandTokens, string Command)
!epthook command handler
Definition epthook.cpp:48
VOID CommandLogopen(vector< CommandToken > CommandTokens, string Command)
.logopen command handler
Definition logopen.cpp:48
VOID CommandSyscallAndSysret(vector< CommandToken > CommandTokens, string Command)
!syscall, !syscall2 and !sysret, !sysret2 commands handler
Definition syscall-sysret.cpp:85
VOID CommandSwitch(vector< CommandToken > CommandTokens, string Command)
.switch command handler
Definition switch.cpp:45
VOID CommandExit(vector< CommandToken > CommandTokens, string Command)
exit command handler
Definition exit.cpp:46
VOID CommandBe(vector< CommandToken > CommandTokens, string Command)
handler of be command
Definition be.cpp:45
VOID CommandG(vector< CommandToken > CommandTokens, string Command)
handler of g command
Definition g.cpp:94
VOID CommandCrwrite(vector< CommandToken > CommandTokens, string Command)
!crwrite command handler
Definition crwrite.cpp:47
VOID CommandTsc(vector< CommandToken > CommandTokens, string Command)
handler of !tsc command
Definition tsc.cpp:46
std::map< std::string, COMMAND_DETAIL > CommandType
Type saving commands and mapping to command string.
Definition commands.h:207
VOID CommandAttach(vector< CommandToken > CommandTokens, string Command)
.attach command handler
Definition attach.cpp:44
VOID CommandMonitor(vector< CommandToken > CommandTokens, string Command)
!monitor command handler
Definition monitor.cpp:62
VOID CommandGg(vector< CommandToken > CommandTokens, string Command)
gg command handler
Definition gg.cpp:41
VOID CommandSettingsLoadDefaultValuesFromConfigFile()
Loads default settings values from config file.
Definition settings.cpp:161
VOID CommandRev(vector< CommandToken > CommandTokens, string Command)
!rev command handler
Definition rev.cpp:50
VOID CommandProcess(vector< CommandToken > CommandTokens, string Command)
.process command handler
Definition process.cpp:57
VOID CommandMsrread(vector< CommandToken > CommandTokens, string Command)
!msrread command handler
Definition msrread.cpp:47
VOID CommandHide(vector< CommandToken > CommandTokens, string Command)
!hide command handler
Definition hide.cpp:395
BOOLEAN CheckMultilineCommand(CHAR *CurrentCommand, BOOLEAN Reset)
check for multi-line commands
Definition interpreter.cpp:1132
VOID CommandLbr(vector< CommandToken > CommandTokens, string Command)
!lbr command handler
Definition lbr.cpp:329
BOOLEAN CommandSettingsGetValueFromConfigFile(std::string OptionName, std::string &OptionValue)
Gets the setting values from config file.
Definition settings.cpp:60
VOID HyperDbgShowMemoryOrDisassemble(DEBUGGER_SHOW_MEMORY_STYLE Style, UINT64 Address, DEBUGGER_READ_MEMORY_TYPE MemoryType, DEBUGGER_READ_READING_TYPE ReadingType, UINT32 Pid, UINT32 Size, PDEBUGGER_DT_COMMAND_OPTIONS DtDetails)
Show memory or disassembler.
Definition readmem.cpp:193
VOID CommandR(vector< CommandToken > CommandTokens, string Command)
handler of r command
Definition r.cpp:452
INT ReadCpuDetails()
Print out supported instruction set extensions.
Definition cpu.cpp:264
VOID CommandPmc(vector< CommandToken > CommandTokens, string Command)
!pmc command handler
Definition pmc.cpp:46
VOID CommandConnect(vector< CommandToken > CommandTokens, string Command)
.connect command handler
Definition connect.cpp:107
VOID CpuReadVendorString(CHAR *Result)
Reads the CPU vendor string.
Definition cpu.cpp:252
VOID CommandListen(vector< CommandToken > CommandTokens, string Command)
listen command handler
Definition listen.cpp:54
VOID CommandPause(vector< CommandToken > CommandTokens, string Command)
pause command handler
Definition pause.cpp:71
VOID CommandEvents(vector< CommandToken > CommandTokens, string Command)
events command handler
Definition events.cpp:67
DEBUGGER_CONDITIONAL_JUMP_STATUS HyperDbgIsConditionalJumpTaken(UCHAR *BufferToDisassemble, UINT64 BuffLength, RFLAGS Rflags, BOOLEAN Isx86_64)
Check whether the jump is taken or not taken (in debugger).
Definition disassembler.cpp:410
BOOLEAN HyperDbgCheckWhetherTheCurrentInstructionIsRet(UCHAR *BufferToDisassemble, UINT64 BuffLength, BOOLEAN Isx86_64)
Check whether the current instruction is a 'ret' or not.
Definition disassembler.cpp:1095
VOID CommandMode(vector< CommandToken > CommandTokens, string Command)
!mode command handler
Definition mode.cpp:49
VOID(* CommandFuncTypeParser)(vector< CommandToken > CommandTokens, string Command)
Command's function type.
Definition commands.h:183
VOID CommandDump(vector< CommandToken > CommandTokens, string Command)
.dump command handler
Definition dump.cpp:62
VOID(* CommandHelpFuncType)()
Command's help function type.
Definition commands.h:189
VOID CommandVmcall(vector< CommandToken > CommandTokens, string Command)
!vmcall command handler
Definition vmcall.cpp:46
VOID CommandDebug(vector< CommandToken > CommandTokens, string Command)
.debug command handler
Definition debug.cpp:235
VOID CommandOutput(vector< CommandToken > CommandTokens, string Command)
output command handler
Definition output.cpp:58
VOID ShowMemoryCommandDB(UCHAR *OutputBuffer, UINT32 Size, UINT64 Address, DEBUGGER_READ_MEMORY_TYPE MemoryType, UINT64 Length)
Show memory in bytes (DB).
Definition readmem.cpp:420
VOID CommandIoout(vector< CommandToken > CommandTokens, string Command)
!ioout command handler
Definition ioout.cpp:48
VOID CommandPt(vector< CommandToken > CommandTokens, string Command)
!pt command handler
Definition pt.cpp:321
VOID CommandP(vector< CommandToken > CommandTokens, string Command)
handler of p command
Definition p.cpp:53
VOID CommandUnload(vector< CommandToken > CommandTokens, string Command)
unload command handler
Definition unload.cpp:82
VOID CommandEptHook2(vector< CommandToken > CommandTokens, string Command)
!epthook2 command handler
Definition epthook2.cpp:49
UINT32 HyperDbgGetImmediateValueOnEaxForSyscallNumber(UCHAR *BufferToDisassemble, UINT64 BuffLength, BOOLEAN Isx86_64)
Get immediate value on EAX register.
Definition disassembler.cpp:1184
VOID CommandCls(vector< CommandToken > CommandTokens, string Command)
.cls command handler
Definition cls.cpp:36
VOID ShowMemoryCommandDQ(UCHAR *OutputBuffer, UINT32 Size, UINT64 Address, DEBUGGER_READ_MEMORY_TYPE MemoryType, UINT64 Length)
Show memory in qword format (DQ).
Definition readmem.cpp:612
VOID CommandDetach(vector< CommandToken > CommandTokens, string Command)
.detach command handler
Definition detach.cpp:72
VOID CommandGu(vector< CommandToken > CommandTokens, string Command)
handler of gu command
Definition gu.cpp:52
VOID CommandIdt(vector< CommandToken > CommandTokens, string Command)
!idt command handler
Definition idt.cpp:115
VOID CommandK(vector< CommandToken > CommandTokens, string Command)
k command handler
Definition k.cpp:56
VOID CommandEditMemory(vector< CommandToken > CommandTokens, string Command)
!e* and e* commands handler
Definition e.cpp:269
struct _COMMAND_DETAIL * PCOMMAND_DETAIL
BOOLEAN HyperDbgReadMemory(UINT64 TargetAddress, DEBUGGER_READ_MEMORY_TYPE MemoryType, DEBUGGER_READ_READING_TYPE ReadingType, UINT32 Pid, UINT32 Size, BOOLEAN GetAddressMode, DEBUGGER_READ_MEMORY_ADDRESS_MODE *AddressMode, BYTE *TargetBufferToStore, UINT32 *ReturnLength)
Read memory and disassembler.
Definition readmem.cpp:37
VOID InitializeDebugger()
Initialize the debugger and adjust commands for the first run.
Definition interpreter.cpp:1288
BOOLEAN ContinuePreviousCommand()
Some of commands like stepping commands (i, p, t) and etc. need to be repeated when the user press en...
Definition interpreter.cpp:1229
VOID CommandScript(vector< CommandToken > CommandTokens, string Command)
.script command handler
Definition script.cpp:263
struct _COMMAND_DETAIL COMMAND_DETAIL
Details of each command.
VOID CommandFlush(vector< CommandToken > CommandTokens, string Command)
flush command handler
Definition flush.cpp:111
VOID CommandInterrupt(vector< CommandToken > CommandTokens, string Command)
!interrupt command handler
Definition interrupt.cpp:49
VOID CommandTrace(vector< CommandToken > CommandTokens, string Command)
!trace command handler
Definition trace.cpp:51
VOID CommandPrealloc(vector< CommandToken > CommandTokens, string Command)
prealloc command handler
Definition prealloc.cpp:60
VOID CommandThread(vector< CommandToken > CommandTokens, string Command)
.thread command handler
Definition thread.cpp:120
VOID CommandStart(vector< CommandToken > CommandTokens, string Command)
.start command handler
Definition start.cpp:47
VOID CommandDisconnect(vector< CommandToken > CommandTokens, string Command)
.disconnect command handler
Definition disconnect.cpp:45
VOID CommandPreactivate(vector< CommandToken > CommandTokens, string Command)
preactivate command handler
Definition preactivate.cpp:49
VOID ShowMessages(const CHAR *Fmt,...)
Show messages.
Definition messaging.cpp:84
VOID ShowMemoryCommandDD(UCHAR *OutputBuffer, UINT32 Size, UINT64 Address, DEBUGGER_READ_MEMORY_TYPE MemoryType, UINT64 Length)
Show memory in dword format (DD).
Definition readmem.cpp:561
std::tuple< CommandParsingTokenType, std::string, std::string > CommandToken
Command's parsing type.
Definition commands.h:177
VOID CommandSettings(vector< CommandToken > CommandTokens, string Command)
settings command handler
Definition settings.cpp:553
CommandParsingTokenType
Command's parsing type (enum).
Definition commands.h:166
@ Num
Definition commands.h:167
@ StringLiteral
Definition commands.h:169
@ String
Definition commands.h:168
@ BracketString
Definition commands.h:170
VOID CommandSym(vector< CommandToken > CommandTokens, string Command)
.sym command handler
Definition sym.cpp:56
VOID CommandIoin(vector< CommandToken > CommandTokens, string Command)
!ioin command handler
Definition ioin.cpp:48
VOID CommandIoapic(vector< CommandToken > CommandTokens, string Command)
!ioapic command handler
Definition ioapic.cpp:194
BOOLEAN HyperDbgCheckWhetherTheCurrentInstructionIsCall(UCHAR *BufferToDisassemble, UINT64 BuffLength, BOOLEAN Isx86_64, PUINT32 CallLength)
Check whether the current instruction is a 'call' or not.
Definition disassembler.cpp:755
RFLAGS * PRFLAGS
Definition pch.h:34
RequestedActionOfThePacket Value(0x1) 00000000
HANDLE g_DeviceHandle
Holds the global handle of device which is used to send the request to the kernel by IOCTL,...
Definition globals.h:481
Details of each command.
Definition commands.h:196
UINT64 CommandAttrib
Definition commands.h:199
CommandHelpFuncType CommandHelpFunction
Definition commands.h:198
CommandFuncTypeParser CommandFunctionNewParser
Definition commands.h:197