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