77 UINT32 MaximumInstrDecoded,
85 UINT32 MaximumInstrDecoded,
91 unsigned char * BufferToDisassemble,
97 unsigned char * BufferToDisassemble,
104 unsigned char * BufferToDisassemble,
112 unsigned char * BufferToDisassemble,
133 BYTE * TargetBufferToStore,
189#define DEBUGGER_COMMAND_ATTRIBUTE_EVENT \
190 0x1 | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE
191#define DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE 0x2
192#define DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_REMOTE_CONNECTION 0x4
193#define DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE 0x8
194#define DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER 0x10
195#define DEBUGGER_COMMAND_ATTRIBUTE_WONT_STOP_DEBUGGER_AGAIN 0x20
196#define DEBUGGER_COMMAND_ATTRIBUTE_HWDBG 0x40
202#define DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL \
203 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | \
204 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_REMOTE_CONNECTION
210#define DEBUGGER_COMMAND_CLEAR_ATTRIBUTES \
211 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
213#define DEBUGGER_COMMAND_HELP_ATTRIBUTES \
214 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
216#define DEBUGGER_COMMAND_CONNECT_ATTRIBUTES \
217 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
219#define DEBUGGER_COMMAND_LISTEN_ATTRIBUTES \
220 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
222#define DEBUGGER_COMMAND_G_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
224#define DEBUGGER_COMMAND_ATTACH_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
226#define DEBUGGER_COMMAND_DETACH_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
228#define DEBUGGER_COMMAND_SWITCH_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
230#define DEBUGGER_COMMAND_START_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_WONT_STOP_DEBUGGER_AGAIN
232#define DEBUGGER_COMMAND_RESTART_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_WONT_STOP_DEBUGGER_AGAIN
234#define DEBUGGER_COMMAND_KILL_ATTRIBUTES NULL
236#define DEBUGGER_COMMAND_PROCESS_ATTRIBUTES \
237 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
239#define DEBUGGER_COMMAND_THREAD_ATTRIBUTES \
240 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
242#define DEBUGGER_COMMAND_SLEEP_ATTRIBUTES \
243 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
245#define DEBUGGER_COMMAND_EVENTS_ATTRIBUTES \
246 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
248#define DEBUGGER_COMMAND_SETTINGS_ATTRIBUTES \
249 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
251#define DEBUGGER_COMMAND_DISCONNECT_ATTRIBUTES \
252 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
254#define DEBUGGER_COMMAND_DEBUG_ATTRIBUTES \
255 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE
257#define DEBUGGER_COMMAND_DOT_STATUS_ATTRIBUTES \
258 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
260#define DEBUGGER_COMMAND_STATUS_ATTRIBUTES NULL
262#define DEBUGGER_COMMAND_LOAD_ATTRIBUTES NULL
264#define DEBUGGER_COMMAND_EXIT_ATTRIBUTES \
265 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
267#define DEBUGGER_COMMAND_FLUSH_ATTRIBUTES \
268 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
270#define DEBUGGER_COMMAND_PAUSE_ATTRIBUTES \
271 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
273#define DEBUGGER_COMMAND_UNLOAD_ATTRIBUTES NULL
275#define DEBUGGER_COMMAND_SCRIPT_ATTRIBUTES \
276 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE
278#define DEBUGGER_COMMAND_OUTPUT_ATTRIBUTES \
279 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE
281#define DEBUGGER_COMMAND_PRINT_ATTRIBUTES \
282 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
284#define DEBUGGER_COMMAND_EVAL_ATTRIBUTES \
285 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
287#define DEBUGGER_COMMAND_LOGOPEN_ATTRIBUTES \
288 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE
290#define DEBUGGER_COMMAND_LOGCLOSE_ATTRIBUTES \
291 DEBUGGER_COMMAND_ATTRIBUTE_ABSOLUTE_LOCAL
293#define DEBUGGER_COMMAND_TEST_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
295#define DEBUGGER_COMMAND_CPU_ATTRIBUTES NULL
297#define DEBUGGER_COMMAND_WRMSR_ATTRIBUTES NULL
299#define DEBUGGER_COMMAND_RDMSR_ATTRIBUTES NULL
301#define DEBUGGER_COMMAND_VA2PA_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
303#define DEBUGGER_COMMAND_PA2VA_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
305#define DEBUGGER_COMMAND_FORMATS_ATTRIBUTES \
306 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
308#define DEBUGGER_COMMAND_PTE_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
310#define DEBUGGER_COMMAND_CORE_ATTRIBUTES \
311 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
313#define DEBUGGER_COMMAND_MONITOR_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
315#define DEBUGGER_COMMAND_VMCALL_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
317#define DEBUGGER_COMMAND_EPTHOOK_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
319#define DEBUGGER_COMMAND_EPTHOOK2_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
321#define DEBUGGER_COMMAND_CPUID_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
323#define DEBUGGER_COMMAND_MSRREAD_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
325#define DEBUGGER_COMMAND_MSRWRITE_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
327#define DEBUGGER_COMMAND_TSC_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
329#define DEBUGGER_COMMAND_PMC_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
331#define DEBUGGER_COMMAND_CRWRITE_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
333#define DEBUGGER_COMMAND_DR_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
335#define DEBUGGER_COMMAND_IOIN_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
337#define DEBUGGER_COMMAND_IOOUT_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
339#define DEBUGGER_COMMAND_EXCEPTION_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
341#define DEBUGGER_COMMAND_INTERRUPT_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
343#define DEBUGGER_COMMAND_SYSCALL_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
345#define DEBUGGER_COMMAND_SYSRET_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
347#define DEBUGGER_COMMAND_MODE_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
349#define DEBUGGER_COMMAND_TRACE_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_EVENT
351#define DEBUGGER_COMMAND_HIDE_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE
353#define DEBUGGER_COMMAND_UNHIDE_ATTRIBUTES NULL
355#define DEBUGGER_COMMAND_MEASURE_ATTRIBUTES NULL
357#define DEBUGGER_COMMAND_LM_ATTRIBUTES NULL
359#define DEBUGGER_COMMAND_P_ATTRIBUTES \
360 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
362#define DEBUGGER_COMMAND_T_ATTRIBUTES \
363 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
365#define DEBUGGER_COMMAND_I_ATTRIBUTES \
366 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
368#define DEBUGGER_COMMAND_D_AND_U_ATTRIBUTES \
369 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
371#define DEBUGGER_COMMAND_E_ATTRIBUTES \
372 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE
374#define DEBUGGER_COMMAND_S_ATTRIBUTES \
375 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE
377#define DEBUGGER_COMMAND_R_ATTRIBUTES \
378 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
380#define DEBUGGER_COMMAND_BP_ATTRIBUTES \
381 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE
383#define DEBUGGER_COMMAND_BE_ATTRIBUTES \
384 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
386#define DEBUGGER_COMMAND_BD_ATTRIBUTES \
387 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
389#define DEBUGGER_COMMAND_BC_ATTRIBUTES \
390 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
392#define DEBUGGER_COMMAND_BL_ATTRIBUTES \
393 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
395#define DEBUGGER_COMMAND_SYMPATH_ATTRIBUTES \
396 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE
398#define DEBUGGER_COMMAND_SYM_ATTRIBUTES \
399 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE
401#define DEBUGGER_COMMAND_X_ATTRIBUTES \
402 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE
404#define DEBUGGER_COMMAND_PREALLOC_ATTRIBUTES NULL
406#define DEBUGGER_COMMAND_PREACTIVATE_ATTRIBUTES NULL
408#define DEBUGGER_COMMAND_K_ATTRIBUTES \
409 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
411#define DEBUGGER_COMMAND_DT_ATTRIBUTES \
412 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
414#define DEBUGGER_COMMAND_STRUCT_ATTRIBUTES \
415 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE
417#define DEBUGGER_COMMAND_PE_ATTRIBUTES NULL
420#define DEBUGGER_COMMAND_REV_ATTRIBUTES NULL
422#define DEBUGGER_COMMAND_TRACK_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
424#define DEBUGGER_COMMAND_PAGEIN_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE
426#define DEBUGGER_COMMAND_DUMP_ATTRIBUTES \
427 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE
429#define DEBUGGER_COMMAND_GU_ATTRIBUTES \
430 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_REPEAT_ON_ENTER
432#define DEBUGGER_COMMAND_HWDBG_HW_CLK_ATTRIBUTES DEBUGGER_COMMAND_ATTRIBUTE_HWDBG
434#define DEBUGGER_COMMAND_A_ATTRIBUTES \
435 DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_COMMAND_IN_DEBUGGER_MODE | DEBUGGER_COMMAND_ATTRIBUTE_LOCAL_CASE_SENSITIVE
442CommandTest(vector<string> SplitCommand,
string Command);
455CommandLoad(vector<string> SplitCommand,
string Command);
464CommandCpu(vector<string> SplitCommand,
string Command);
467CommandExit(vector<string> SplitCommand,
string Command);
476CommandRdmsr(vector<string> SplitCommand,
string Command);
479CommandWrmsr(vector<string> SplitCommand,
string Command);
482CommandPte(vector<string> SplitCommand,
string Command);
497CommandCpuid(vector<string> SplitCommand,
string Command);
506CommandTsc(vector<string> SplitCommand,
string Command);
509CommandPmc(vector<string> SplitCommand,
string Command);
518CommandDr(vector<string> SplitCommand,
string Command);
524CommandIoin(vector<string> SplitCommand,
string Command);
527CommandIoout(vector<string> SplitCommand,
string Command);
533CommandMode(vector<string> SplitCommand,
string Command);
536CommandTrace(vector<string> SplitCommand,
string Command);
539CommandHide(vector<string> SplitCommand,
string Command);
551CommandVa2pa(vector<string> SplitCommand,
string Command);
554CommandPa2va(vector<string> SplitCommand,
string Command);
560CommandG(vector<string> SplitCommand,
string Command);
563CommandLm(vector<string> SplitCommand,
string Command);
566CommandSleep(vector<string> SplitCommand,
string Command);
581CommandFlush(vector<string> SplitCommand,
string Command);
584CommandPause(vector<string> SplitCommand,
string Command);
599CommandStart(vector<string> SplitCommand,
string Command);
608CommandKill(vector<string> SplitCommand,
string Command);
611CommandT(vector<string> SplitCommand,
string Command);
614CommandI(vector<string> SplitCommand,
string Command);
617CommandPrint(vector<string> SplitCommand,
string Command);
623CommandDebug(vector<string> SplitCommand,
string Command);
626CommandP(vector<string> SplitCommand,
string Command);
629CommandCore(vector<string> SplitCommand,
string Command);
638CommandEval(vector<string> SplitCommand,
string Command);
641CommandR(vector<string> SplitCommand,
string Command);
644CommandBp(vector<string> SplitCommand,
string Command);
647CommandBl(vector<string> SplitCommand,
string Command);
650CommandBe(vector<string> SplitCommand,
string Command);
653CommandBd(vector<string> SplitCommand,
string Command);
656CommandBc(vector<string> SplitCommand,
string Command);
662CommandSym(vector<string> SplitCommand,
string Command);
665CommandX(vector<string> SplitCommand,
string Command);
677CommandK(vector<string> SplitCommand,
string Command);
680CommandPe(vector<string> SplitCommand,
string Command);
683CommandRev(vector<string> SplitCommand,
string Command);
686CommandTrack(vector<string> SplitCommand,
string Command);
692CommandDump(vector<string> SplitCommand,
string Command);
695CommandGu(vector<string> SplitCommand,
string Command);
704CommandHwClk(vector<string> SplitCommand,
string Command);
UCHAR BOOLEAN
Definition BasicTypes.h:39
unsigned char BYTE
Definition BasicTypes.h:24
BOOLEAN * PBOOLEAN
Definition BasicTypes.h:40
#define VOID
Definition BasicTypes.h:33
unsigned int * PUINT32
Definition BasicTypes.h:48
unsigned __int64 UINT64
Definition BasicTypes.h:21
unsigned int UINT32
Definition BasicTypes.h:48
char CHAR
Definition BasicTypes.h:31
UINT64 Address
Definition HyperDbgScriptImports.h:67
enum _DEBUGGER_SHOW_MEMORY_STYLE DEBUGGER_SHOW_MEMORY_STYLE
the way that debugger should show the details of memory or disassemble them
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 CommandEptHook2(vector< string > SplitCommand, string Command)
!epthook2 command handler
Definition epthook2.cpp:48
HANDLE g_DeviceHandle
Holds the global handle of device which is used to send the request to the kernel by IOCTL,...
Definition globals.h:471
VOID CommandCpuid(vector< string > SplitCommand, string Command)
!cpuid command handler
Definition cpuid.cpp:47
string SeparateTo64BitValue(UINT64 Value)
add ` between 64 bit values and convert them to string
Definition common.cpp:27
VOID CommandIoin(vector< string > SplitCommand, string Command)
!ioin command handler
Definition ioin.cpp:47
VOID CommandTest(vector< string > SplitCommand, string Command)
test command handler
Definition test.cpp:364
VOID CommandExit(vector< string > SplitCommand, string Command)
exit command handler
Definition exit.cpp:43
VOID CommandTrack(vector< string > SplitCommand, string Command)
handler of !track command
Definition track.cpp:59
void ShowMemoryCommandDD(unsigned char *OutputBuffer, UINT32 Size, UINT64 Address, DEBUGGER_READ_MEMORY_TYPE MemoryType, UINT64 Length)
Show memory in dword format (DD)
Definition readmem.cpp:555
VOID CommandDtAndStruct(vector< string > SplitCommand, string Command)
dt and struct command handler
Definition dt-struct.cpp:427
VOID CommandFlush(vector< string > SplitCommand, string Command)
flush command handler
Definition flush.cpp:109
VOID CommandLogopen(vector< string > SplitCommand, string Command)
.logopen command handler
Definition logopen.cpp:43
VOID CommandThread(vector< string > SplitCommand, string Command)
.thread command handler
Definition thread.cpp:119
VOID CommandLogclose(vector< string > SplitCommand, string Command)
.logclose command handler
Definition logclose.cpp:41
VOID CommandSyscallAndSysret(vector< string > SplitCommand, string Command)
!syscall, !syscall2 and !sysret, !sysret2 commands handler
Definition syscall-sysret.cpp:84
VOID ShowMessages(const char *Fmt,...)
Show messages.
Definition libhyperdbg.cpp:96
VOID CommandPrint(vector< string > SplitCommand, string Command)
handler of print command
Definition print.cpp:46
VOID CommandPause(vector< string > SplitCommand, string Command)
pause command handler
Definition pause.cpp:71
VOID CommandPreactivate(vector< string > SplitCommand, string Command)
preactivate command handler
Definition preactivate.cpp:42
int HyperDbgDisassembler32(unsigned char *BufferToDisassemble, UINT64 BaseAddress, UINT64 Size, UINT32 MaximumInstrDecoded, BOOLEAN ShowBranchIsTakenOrNot, PRFLAGS Rflags)
Disassemble 32 bit assemblies.
Definition disassembler.cpp:373
VOID CommandDisconnect(vector< string > SplitCommand, string Command)
.disconnect command handler
Definition disconnect.cpp:44
VOID CommandVmcall(vector< string > SplitCommand, string Command)
!vmcall command handler
Definition vmcall.cpp:45
VOID CommandX(vector< string > SplitCommand, string Command)
x command handler
Definition x.cpp:40
VOID InitializeCommandsDictionary()
Initialize commands and attributes.
Definition interpreter.cpp:817
VOID CommandPte(vector< string > SplitCommand, string Command)
!pte command handler
Definition pte.cpp:91
VOID CommandPmc(vector< string > SplitCommand, string Command)
!pmc command handler
Definition pmc.cpp:45
BOOLEAN HyperDbgCheckWhetherTheCurrentInstructionIsCall(unsigned char *BufferToDisassemble, UINT64 BuffLength, BOOLEAN Isx86_64, PUINT32 CallLength)
Check whether the current instruction is a 'call' or not.
Definition disassembler.cpp:755
VOID CommandIoout(vector< string > SplitCommand, string Command)
!ioout command handler
Definition ioout.cpp:47
VOID CommandEptHook(vector< string > SplitCommand, string Command)
!epthook command handler
Definition epthook.cpp:47
VOID(* CommandFuncType)(vector< string > SplitCommand, string Command)
Command's function type.
Definition commands.h:159
VOID CommandMsrread(vector< string > SplitCommand, string Command)
!msrread command handler
Definition msrread.cpp:46
int ReadCpuDetails()
Print out supported instruction set extensions.
Definition cpu.cpp:261
VOID CommandPa2va(vector< string > SplitCommand, string Command)
!pa2va command handler
Definition pa2va.cpp:48
VOID CommandR(vector< string > SplitCommand, string Command)
VOID CommandStatus(vector< string > SplitCommand, string Command)
.status and status command handler
Definition status.cpp:50
VOID CommandDumpSaveIntoFile(PVOID Buffer, UINT32 Length)
Saves the received buffers into the files.
Definition dump.cpp:301
VOID CommandSleep(vector< string > SplitCommand, string Command)
sleep command help
Definition sleep.cpp:37
VOID CommandUnload(vector< string > SplitCommand, string Command)
unload command handler
Definition unload.cpp:48
VOID CommandSettingsSetValueFromConfigFile(std::string OptionName, std::string OptionValue)
Sets the setting values from config file.
Definition settings.cpp:115
VOID CommandPagein(vector< string > SplitCommand, string Command)
.pagein command handler
Definition pagein.cpp:264
VOID CommandLoad(vector< string > SplitCommand, string Command)
load command handler
Definition load.cpp:46
VOID CommandMsrwrite(vector< string > SplitCommand, string Command)
!msrwrite command handler
Definition msrwrite.cpp:46
VOID CommandRdmsr(vector< string > SplitCommand, string Command)
rdmsr command handler
Definition rdmsr.cpp:114
VOID CommandScript(vector< string > SplitCommand, string Command)
.script command handler
Definition script.cpp:268
VOID CommandBe(vector< string > SplitCommand, string Command)
handler of be command
Definition be.cpp:44
VOID CommandConnect(vector< string > SplitCommand, string Command)
.connect command handler
Definition connect.cpp:106
VOID CommandDr(vector< string > SplitCommand, string Command)
!dr command handler
Definition dr.cpp:45
VOID CommandSearchMemory(vector< string > SplitCommand, string Command)
!s* s* commands handler
Definition s.cpp:138
VOID CommandUnhide(vector< string > SplitCommand, string Command)
!unhide command handler
Definition unhide.cpp:38
VOID CommandDebug(vector< string > SplitCommand, string Command)
.debug command handler
Definition debug.cpp:210
VOID CommandK(vector< string > SplitCommand, string Command)
k command handler
Definition k.cpp:55
VOID CommandTsc(vector< string > SplitCommand, string Command)
handler of !tsc command
Definition tsc.cpp:45
VOID CommandHide(vector< string > SplitCommand, string Command)
!hide command handler
Definition hide.cpp:60
VOID CommandCpu(vector< string > SplitCommand, string Command)
cpu command handler
Definition cpu.cpp:35
VOID CommandMonitor(vector< string > SplitCommand, string Command)
!monitor command handler
Definition monitor.cpp:61
VOID CommandDump(vector< string > SplitCommand, string Command)
.dump command handler
Definition dump.cpp:62
VOID CommandP(vector< string > SplitCommand, string Command)
handler of p command
Definition p.cpp:52
VOID CommandGu(vector< string > SplitCommand, string Command)
handler of gu command
Definition gu.cpp:51
VOID CommandRev(vector< string > SplitCommand, string Command)
!rev command handler
Definition rev.cpp:51
VOID CommandCore(vector< string > SplitCommand, string Command)
~ command handler
Definition core.cpp:46
VOID CommandPteShowResults(UINT64 TargetVa, PDEBUGGER_READ_PAGE_TABLE_ENTRIES_DETAILS PteRead)
show results of !pte command
Definition pte.cpp:47
VOID CommandTrace(vector< string > SplitCommand, string Command)
!trace command handler
Definition trace.cpp:50
VOID CommandVa2pa(vector< string > SplitCommand, string Command)
!va2pa command handler
Definition va2pa.cpp:49
VOID CommandAssemble(vector< string > SplitCommand, string Command)
a and !a commands handler
Definition a.cpp:182
VOID CommandRestart(vector< string > SplitCommand, string Command)
.restart command handler
Definition restart.cpp:46
VOID CommandSwitch(vector< string > SplitCommand, string Command)
.switch command handler
Definition switch.cpp:49
VOID CommandFormats(vector< string > SplitCommand, string Command)
handler of .formats command
Definition formats.cpp:105
VOID CommandKill(vector< string > SplitCommand, string Command)
.kill command handler
Definition kill.cpp:41
VOID CommandException(vector< string > SplitCommand, string Command)
!exception command handler
Definition exception.cpp:50
VOID CommandMeasure(vector< string > SplitCommand, string Command)
!measure command handler
Definition measure.cpp:53
DEBUGGER_CONDITIONAL_JUMP_STATUS HyperDbgIsConditionalJumpTaken(unsigned char *BufferToDisassemble, UINT64 BuffLength, RFLAGS Rflags, BOOLEAN Isx86_64)
Check whether the jump is taken or not taken (in debugger)
Definition disassembler.cpp:410
std::map< std::string, COMMAND_DETAIL > CommandType
Type saving commands and mapping to command string.
Definition commands.h:183
VOID CommandAttach(vector< string > SplitCommand, string Command)
.attach command handler
Definition attach.cpp:44
VOID CommandStart(vector< string > SplitCommand, string Command)
.start command handler
Definition start.cpp:45
VOID CommandSym(vector< string > SplitCommand, string Command)
.sym command handler
Definition sym.cpp:55
VOID CommandSettings(vector< string > SplitCommand, string Command)
settings command handler
Definition settings.cpp:544
void ShowMemoryCommandDQ(unsigned char *OutputBuffer, UINT32 Size, UINT64 Address, DEBUGGER_READ_MEMORY_TYPE MemoryType, UINT64 Length)
Show memory in qword format (DQ)
Definition readmem.cpp:604
VOID CommandBd(vector< string > SplitCommand, string Command)
handler of bd command
Definition bd.cpp:44
VOID CommandG(vector< string > SplitCommand, string Command)
handler of g command
Definition g.cpp:93
VOID CommandSettingsLoadDefaultValuesFromConfigFile()
Loads default settings values from config file.
Definition settings.cpp:161
VOID CommandT(vector< string > SplitCommand, string Command)
handler of t command
Definition t.cpp:52
VOID CommandProcess(vector< string > SplitCommand, string Command)
.process command handler
Definition process.cpp:56
BOOLEAN CheckMultilineCommand(CHAR *CurrentCommand, BOOLEAN Reset)
check for multi-line commands
Definition interpreter.cpp:611
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 CpuReadVendorString(CHAR *Result)
Reads the CPU vendor string.
Definition cpu.cpp:249
VOID CommandEditMemory(vector< string > SplitCommand, string Command)
!e* and e* commands handler
Definition e.cpp:265
VOID CommandOutput(vector< string > SplitCommand, string Command)
output command handler
Definition output.cpp:54
void ShowMemoryCommandDB(unsigned char *OutputBuffer, UINT32 Size, UINT64 Address, DEBUGGER_READ_MEMORY_TYPE MemoryType, UINT64 Length)
Show memory in bytes (DB)
Definition readmem.cpp:418
VOID CommandPrealloc(vector< string > SplitCommand, string Command)
prealloc command handler
Definition prealloc.cpp:54
BOOLEAN HyperDbgCheckWhetherTheCurrentInstructionIsRet(unsigned char *BufferToDisassemble, UINT64 BuffLength, BOOLEAN Isx86_64)
Check whether the current instruction is a 'ret' or not.
Definition disassembler.cpp:1096
VOID CommandI(vector< string > SplitCommand, string Command)
handler of i command
Definition i.cpp:55
VOID(* CommandHelpFuncType)()
Command's help function type.
Definition commands.h:165
VOID CommandPe(vector< string > SplitCommand, string Command)
.pe command handler
Definition pe.cpp:43
VOID CommandEval(vector< string > SplitCommand, string Command)
handler of ? command
Definition eval.cpp:196
VOID CommandHwClk(vector< string > SplitCommand, string Command)
!hw_clk command handler
Definition hw_clk.cpp:46
VOID CommandLm(vector< string > SplitCommand, string Command)
handle lm command
Definition lm.cpp:385
VOID CommandBc(vector< string > SplitCommand, string Command)
handler of bc command
Definition bc.cpp:44
VOID CommandWrmsr(vector< string > SplitCommand, string Command)
wrmsr command handler
Definition wrmsr.cpp:42
VOID CommandClearScreen(vector< string > SplitCommand, string Command)
.cls command handler
Definition cls.cpp:35
BOOLEAN HyperDbgCheckWhetherTheCurrentInstructionIsCallOrRet(unsigned char *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
struct _COMMAND_DETAIL * PCOMMAND_DETAIL
VOID CommandListen(vector< string > SplitCommand, string Command)
listen command handler
Definition listen.cpp:53
VOID CommandMode(vector< string > SplitCommand, string Command)
!mode command handler
Definition mode.cpp:48
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:36
VOID CommandDetach(vector< string > SplitCommand, string Command)
.detach command handler
Definition detach.cpp:71
VOID CommandCrwrite(vector< string > SplitCommand, string Command)
!crwrite command handler
Definition crwrite.cpp:46
VOID InitializeDebugger()
Initialize the debugger and adjust commands for the first run.
Definition interpreter.cpp:767
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:708
VOID CommandBp(vector< string > SplitCommand, string Command)
bp command handler
Definition bp.cpp:83
VOID CommandBl(vector< string > SplitCommand, string Command)
handler of the bl command
Definition bl.cpp:40
struct _COMMAND_DETAIL COMMAND_DETAIL
Details of each command.
VOID CommandReadMemoryAndDisassembler(vector< string > SplitCommand, string Command)
u* d* !u* !d* commands handler
Definition d-u.cpp:72
VOID CommandSympath(vector< string > SplitCommand, string Command)
.sympath command handler
Definition sympath.cpp:44
int HyperDbgDisassembler64(unsigned char *BufferToDisassemble, UINT64 BaseAddress, UINT64 Size, UINT32 MaximumInstrDecoded, BOOLEAN ShowBranchIsTakenOrNot, PRFLAGS Rflags)
Disassemble x64 assemblies.
Definition disassembler.cpp:333
VOID CommandInterrupt(vector< string > SplitCommand, string Command)
!interrupt command handler
Definition interrupt.cpp:48
void ShowMemoryCommandDC(unsigned char *OutputBuffer, UINT32 Size, UINT64 Address, DEBUGGER_READ_MEMORY_TYPE MemoryType, UINT64 Length)
Show memory in dword format (DC)
Definition readmem.cpp:486
VOID CommandEvents(vector< string > SplitCommand, string Command)
events command handler
Definition events.cpp:65
UINT32 HyperDbgLengthDisassemblerEngine(unsigned char *BufferToDisassemble, UINT64 BuffLength, BOOLEAN Isx86_64)
Length Disassembler engine based on Zydis.
Definition disassembler.cpp:856
RequestedActionOfThePacket Value(0x1) 00000000
RFLAGS * PRFLAGS
Definition pch.h:34
Details of each command.
Definition commands.h:172
UINT64 CommandAttrib
Definition commands.h:175
CommandHelpFuncType CommandHelpFunction
Definition commands.h:174
CommandFuncType CommandFunction
Definition commands.h:173
requests options for dt and struct command
Definition RequestStructures.h:135
request for !pte command
Definition RequestStructures.h:22