HyperDbg Debugger
Loading...
Searching...
No Matches
r.cpp File Reference

r command More...

#include "pch.h"

Functions

VOID CommandRHelp ()
 help of the r command
 
BOOLEAN HyperDbgReadAllRegisters (GUEST_REGS *GuestRegisters, GUEST_EXTRA_REGISTERS *ExtraRegisters)
 Read all registers.
 
BOOLEAN HyperDbgReadTargetRegister (REGS_ENUM RegisterId, UINT64 *TargetRegister)
 Read target register.
 
BOOLEAN HyperDbgWriteTargetRegister (REGS_ENUM RegisterId, UINT64 Value)
 Write target register.
 
BOOLEAN HyperDbgRegisterShowAll ()
 handler of r show all registers
 
BOOLEAN HyperDbgRegisterShowTargetRegister (REGS_ENUM RegisterId)
 handler of r show the target register
 
VOID CommandR (std::vector< std::string > SplitCommand, std::string Command)
 handler of r command
 

Variables

BOOLEAN g_IsSerialConnectedToRemoteDebuggee
 Shows if the debugger was connected to remote debuggee over (A remote guest)
 
std::map< std::string, REGS_ENUMRegistersMap
 

Detailed Description

r command

Author
Alee Amini (alee@.nosp@m.hype.nosp@m.rdbg..nosp@m.org)
Sina Karvandi (sina@.nosp@m.hype.nosp@m.rdbg..nosp@m.org)
Version
0.1
Date
2021-02-27

Function Documentation

◆ CommandR()

VOID CommandR ( std::vector< std::string > SplitCommand,
std::string Command )

handler of r command

Parameters
SplitCommand
Command
Returns
VOID
415{
416 //
417 // Interpret here
418 //
419 PVOID CodeBuffer;
421 UINT32 BufferLength;
422 UINT32 Pointer;
423 REGS_ENUM RegKind;
424 std::vector<std::string> Tmp;
425
426 std::string SetRegValue;
427
428 if (SplitCommand[0] != "r")
429 {
430 return;
431 }
432
433 if (SplitCommand.size() == 1)
434 {
435 //
436 // show all registers
437 //
439 {
441 }
442 else
443 {
444 ShowMessages("err, reading registers (r) is not valid in the current "
445 "context, you should connect to a debuggee\n");
446 }
447
448 return;
449 }
450 //
451 // clear additional space of the command string
452 //
453
454 //
455 // if command does not contain a '=' means user wants to read it
456 //
457 if (Command.find('=', 0) == string::npos)
458 {
459 //
460 // erase '=' from the string now we have just the name of register
461 //
462 Command.erase(0, 1);
463 ReplaceAll(Command, "@", "");
464 ReplaceAll(Command, " ", "");
465 if (RegistersMap.find(Command) != RegistersMap.end())
466 {
467 RegKind = RegistersMap[Command];
468 }
469 else
470 {
471 //
472 // set the Reg to -1(invalid register)
473 //
474 RegKind = (REGS_ENUM)-1;
475 }
476
477 if (RegKind != -1)
478 {
479 //
480 // send the request
481 //
483 {
485 }
486 else
487 {
488 ShowMessages("err, reading registers (r) is not valid in the current "
489 "context, you should connect to a debuggee\n");
490 }
491 }
492 else
493 {
494 ShowMessages("err, invalid register\n");
495 }
496 }
497
498 //
499 // if command contains a '=' means user wants modify the register
500 //
501
502 else if (Command.find('=', 0) != string::npos)
503 {
504 Command.erase(0, 1);
505 Tmp = Split(Command, '=');
506 if (Tmp.size() == 2)
507 {
508 ReplaceAll(Tmp[0], " ", "");
509 string tmp = Tmp[0];
510 if (RegistersMap.find(Tmp[0]) != RegistersMap.end())
511 {
512 RegKind = RegistersMap[Tmp[0]];
513 }
514 else
515 {
516 ReplaceAll(tmp, "@", "");
517 if (RegistersMap.find(tmp) != RegistersMap.end())
518 {
519 RegKind = RegistersMap[tmp];
520 }
521 else
522 {
523 RegKind = (REGS_ENUM)-1;
524 }
525 }
526 if (RegKind != -1)
527 {
528 //
529 // send the request
530 //
531 SetRegValue = "@" + tmp + '=' + Tmp[1] + "; ";
532
534 {
535 //
536 // Send over serial
537 //
538
539 //
540 // Run script engine handler
541 //
542 CodeBuffer = ScriptEngineParseWrapper((char *)SetRegValue.c_str(), TRUE);
543 if (CodeBuffer == NULL)
544 {
545 //
546 // return to show that this item contains an script
547 //
548 return;
549 }
550
551 //
552 // Print symbols (test)
553 //
554 // PrintSymbolBufferWrapper(CodeBuffer);
555
556 //
557 // Set the buffer and length
558 //
560 BufferLength = ScriptEngineWrapperGetSize(CodeBuffer);
561 Pointer = ScriptEngineWrapperGetPointer(CodeBuffer);
562
563 //
564 // Send it to the remote debuggee
565 //
566 KdSendScriptPacketToDebuggee(BufferAddress, BufferLength, Pointer, FALSE);
567
568 //
569 // Remove the buffer of script engine interpreted code
570 //
572 }
573 else
574 {
575 //
576 // error
577 //
578 ShowMessages("err, you're not connected to any debuggee\n");
579 }
580 }
581 else
582 {
583 //
584 // error
585 //
586 ShowMessages("err, invalid register\n");
587 }
588 }
589 }
590}
#define TRUE
Definition BasicTypes.h:55
#define FALSE
Definition BasicTypes.h:54
unsigned __int64 UINT64
Definition BasicTypes.h:21
unsigned int UINT32
Definition BasicTypes.h:48
UINT64 BOOLEAN PVOID BufferAddress
Definition HyperDbgScriptImports.h:67
BOOLEAN SetRegValue(PGUEST_REGS GuestRegs, UINT32 RegisterId, UINT64 Value)
Set the register value.
Definition Regs.c:963
REGS_ENUM
Definition ScriptEngineCommonDefinitions.h:313
const vector< string > Split(const string &s, const char &c)
general split command
Definition common.cpp:117
VOID ReplaceAll(string &str, const string &from, const string &to)
general replace all function
Definition common.cpp:91
BOOLEAN KdSendScriptPacketToDebuggee(UINT64 BufferAddress, UINT32 BufferLength, UINT32 Pointer, BOOLEAN IsFormat)
Sends a script packet to the debuggee.
Definition kd.cpp:1056
VOID ShowMessages(const char *Fmt,...)
Show messages.
Definition libhyperdbg.cpp:96
std::map< std::string, REGS_ENUM > RegistersMap
Definition r.cpp:22
BOOLEAN HyperDbgRegisterShowAll()
handler of r show all registers
Definition r.cpp:317
BOOLEAN HyperDbgRegisterShowTargetRegister(REGS_ENUM RegisterId)
handler of r show the target register
Definition r.cpp:387
BOOLEAN g_IsSerialConnectedToRemoteDebuggee
Shows if the debugger was connected to remote debuggee over (A remote guest)
Definition globals.h:231
UINT32 ScriptEngineWrapperGetSize(PVOID SymbolBuffer)
wrapper for getting size
Definition script-engine-wrapper.cpp:834
UINT32 ScriptEngineWrapperGetPointer(PVOID SymbolBuffer)
wrapper for getting pointer
Definition script-engine-wrapper.cpp:848
PVOID ScriptEngineParseWrapper(char *Expr, BOOLEAN ShowErrorMessageIfAny)
ScriptEngineParse wrapper.
Definition script-engine-wrapper.cpp:267
UINT64 ScriptEngineWrapperGetHead(PVOID SymbolBuffer)
wrapper for getting head
Definition script-engine-wrapper.cpp:822
VOID ScriptEngineWrapperRemoveSymbolBuffer(PVOID SymbolBuffer)
wrapper for removing symbol buffer
Definition script-engine-wrapper.cpp:860

◆ CommandRHelp()

VOID CommandRHelp ( )

help of the r command

Returns
VOID
152{
153 ShowMessages("r : reads or modifies registers.\n\n");
154
155 ShowMessages("syntax : \tr\n");
156 ShowMessages("syntax : \tr [Register (string)] [= Expr (string)]\n");
157
158 ShowMessages("\n");
159 ShowMessages("\t\te.g : r\n");
160 ShowMessages("\t\te.g : r @rax\n");
161 ShowMessages("\t\te.g : r rax\n");
162 ShowMessages("\t\te.g : r rax = 0x55\n");
163 ShowMessages("\t\te.g : r rax = @rbx + @rcx + 0n10\n");
164}

◆ HyperDbgReadAllRegisters()

BOOLEAN HyperDbgReadAllRegisters ( GUEST_REGS * GuestRegisters,
GUEST_EXTRA_REGISTERS * ExtraRegisters )

Read all registers.

Parameters
GuestRegistersThe guest registers
ExtraRegistersThe extra registers
Returns
BOOLEAN Returns true if it was successful
175{
176 PGUEST_REGS Regs;
177 PGUEST_EXTRA_REGISTERS ExtraRegs;
179 UINT32 SizeOfRegState = 0;
180
181 //
182 // Calculate the size of the register state
183 //
184 SizeOfRegState = sizeof(DEBUGGEE_REGISTER_READ_DESCRIPTION) + sizeof(GUEST_REGS) + sizeof(GUEST_EXTRA_REGISTERS);
185
186 //
187 // Allocate memory for the register state
188 //
189 RegState = (DEBUGGEE_REGISTER_READ_DESCRIPTION *)malloc(SizeOfRegState);
190
191 //
192 // Check if the memory allocation was successful
193 //
194 if (RegState == NULL)
195 {
196 return FALSE;
197 }
198
199 //
200 // Set the register ID to show all registers
201 //
203
204 if (!KdSendReadRegisterPacketToDebuggee(RegState, SizeOfRegState))
205 {
206 free(RegState);
207 return FALSE;
208 }
209
211 {
212 //
213 // Copy the registers and extra registers to the output
214 //
215 Regs = (GUEST_REGS *)(((CHAR *)RegState) + sizeof(DEBUGGEE_REGISTER_READ_DESCRIPTION));
216 ExtraRegs = (GUEST_EXTRA_REGISTERS *)(((CHAR *)RegState) + sizeof(DEBUGGEE_REGISTER_READ_DESCRIPTION) + sizeof(GUEST_REGS));
217
218 if (GuestRegisters != NULL)
219 {
220 memcpy(GuestRegisters, Regs, sizeof(GUEST_REGS));
221 }
222
223 if (ExtraRegisters != NULL)
224 {
225 memcpy(ExtraRegisters, ExtraRegs, sizeof(GUEST_EXTRA_REGISTERS));
226 }
227 }
228 else
229 {
230 ShowErrorMessage(RegState->KernelStatus);
231 free(RegState);
232 return FALSE;
233 }
234
235 free(RegState);
236 return TRUE;
237}
struct GUEST_REGS GUEST_REGS
char CHAR
Definition BasicTypes.h:31
struct GUEST_EXTRA_REGISTERS GUEST_EXTRA_REGISTERS
struct for extra registers
#define DEBUGGEE_SHOW_ALL_REGISTERS
for reading all registers in r command.
Definition Constants.h:665
#define DEBUGGER_OPERATION_WAS_SUCCESSFUL
General value to indicate that the operation or request was successful.
Definition ErrorCodes.h:23
struct _DEBUGGEE_REGISTER_READ_DESCRIPTION DEBUGGEE_REGISTER_READ_DESCRIPTION
Register Descriptor Structure to use in r command.
BOOLEAN ShowErrorMessage(UINT32 Error)
shows the error message
Definition debugger.cpp:38
BOOLEAN KdSendReadRegisterPacketToDebuggee(PDEBUGGEE_REGISTER_READ_DESCRIPTION RegDes, UINT32 RegBuffSize)
Send a read register packet to the debuggee.
Definition kd.cpp:527
NULL()
Definition test-case-generator.py:530
Register Descriptor Structure to use in r command.
Definition RequestStructures.h:1156
UINT32 RegisterId
Definition RequestStructures.h:1157
UINT32 KernelStatus
Definition RequestStructures.h:1159
struct for extra registers
Definition BasicTypes.h:103
Definition BasicTypes.h:70

◆ HyperDbgReadTargetRegister()

BOOLEAN HyperDbgReadTargetRegister ( REGS_ENUM RegisterId,
UINT64 * TargetRegister )

Read target register.

Parameters
RegisterIdThe register ID
TargetRegisterThe value of the target register
Returns
BOOLEAN Returns true if it was successful
248{
250
251 //
252 // Set the register ID
253 //
254 RegState.RegisterId = (UINT32)RegisterId;
255
257 {
258 return FALSE;
259 }
260
262 {
263 if (TargetRegister != NULL)
264 {
265 *TargetRegister = RegState.Value;
266 }
267 }
268 else
269 {
271 return FALSE;
272 }
273
274 return TRUE;
275}
UINT64 Value
Definition RequestStructures.h:1158

◆ HyperDbgRegisterShowAll()

BOOLEAN HyperDbgRegisterShowAll ( )

handler of r show all registers

Returns
BOOLEAN
318{
319 GUEST_REGS Regs = {0};
320 GUEST_EXTRA_REGISTERS ExtraRegs = {0};
321 RFLAGS Rflags = {0};
322
323 if (!HyperDbgReadAllRegisters(&Regs, &ExtraRegs))
324 {
325 return FALSE;
326 }
327
328 //
329 // Show the result of reading registers like rax=0000000000018b01
330 //
331 Rflags.AsUInt = ExtraRegs.RFLAGS;
332
334 "RAX=%016llx RBX=%016llx RCX=%016llx\n"
335 "RDX=%016llx RSI=% 016llx RDI=%016llx\n"
336 "RIP=%016llx RSP=%016llx RBP=%016llx\n"
337 "R8 =%016llx R9 =%016llx R10=%016llx\n"
338 "R11=%016llx R12=%016llx R13=%016llx\n"
339 "R14=%016llx R15=%016llx IOPL=%02x\n"
340 "%s %s %s %s\n%s %s %s %s\n"
341 "CS %04x SS %04x DS %04x ES %04x FS %04x GS %04x\n"
342 "RFLAGS=%016llx\n",
343 Regs.rax,
344 Regs.rbx,
345 Regs.rcx,
346 Regs.rdx,
347 Regs.rsi,
348 Regs.rdi,
349 ExtraRegs.RIP,
350 Regs.rsp,
351 Regs.rbp,
352 Regs.r8,
353 Regs.r9,
354 Regs.r10,
355 Regs.r11,
356 Regs.r12,
357 Regs.r13,
358 Regs.r14,
359 Regs.r15,
360 Rflags.IoPrivilegeLevel,
361 Rflags.OverflowFlag ? "OF 1" : "OF 0",
362 Rflags.DirectionFlag ? "DF 1" : "DF 0",
363 Rflags.InterruptEnableFlag ? "IF 1" : "IF 0",
364 Rflags.SignFlag ? "SF 1" : "SF 0",
365 Rflags.ZeroFlag ? "ZF 1" : "ZF 0",
366 Rflags.ParityFlag ? "PF 1" : "PF 0",
367 Rflags.CarryFlag ? "CF 1" : "CF 0",
368 Rflags.AuxiliaryCarryFlag ? "AXF 1" : "AXF 0",
369 ExtraRegs.CS,
370 ExtraRegs.SS,
371 ExtraRegs.DS,
372 ExtraRegs.ES,
373 ExtraRegs.FS,
374 ExtraRegs.GS,
375 ExtraRegs.RFLAGS);
376
377 return TRUE;
378}
@ FS
Definition Common.h:28
@ ES
Definition Common.h:24
@ CS
Definition Common.h:25
@ GS
Definition Common.h:29
@ DS
Definition Common.h:27
@ SS
Definition Common.h:26
BOOLEAN HyperDbgReadAllRegisters(GUEST_REGS *GuestRegisters, GUEST_EXTRA_REGISTERS *ExtraRegisters)
Read all registers.
Definition r.cpp:174
UINT64 RFLAGS
Definition BasicTypes.h:110
UINT64 RIP
Definition BasicTypes.h:111
UINT64 rsp
Definition BasicTypes.h:79
UINT64 r14
Definition BasicTypes.h:89
UINT64 r15
Definition BasicTypes.h:90
UINT64 rdi
Definition BasicTypes.h:82
UINT64 rax
Definition BasicTypes.h:75
UINT64 r12
Definition BasicTypes.h:87
UINT64 r13
Definition BasicTypes.h:88
UINT64 r9
Definition BasicTypes.h:84
UINT64 r8
Definition BasicTypes.h:83
UINT64 rbp
Definition BasicTypes.h:80
UINT64 rbx
Definition BasicTypes.h:78
UINT64 r10
Definition BasicTypes.h:85
UINT64 rcx
Definition BasicTypes.h:76
UINT64 rsi
Definition BasicTypes.h:81
UINT64 r11
Definition BasicTypes.h:86
UINT64 rdx
Definition BasicTypes.h:77

◆ HyperDbgRegisterShowTargetRegister()

BOOLEAN HyperDbgRegisterShowTargetRegister ( REGS_ENUM RegisterId)

handler of r show the target register

Parameters
RegisterIdThe register ID
Returns
BOOLEAN Returns true if it was successful
388{
389 UINT64 TargetRegister = 0;
390
391 //
392 // Read target register
393 //
394 if (!HyperDbgReadTargetRegister(RegisterId, &TargetRegister))
395 {
396 return FALSE;
397 }
398
399 ShowMessages("%s=%016llx\n",
400 RegistersNames[RegisterId],
401 TargetRegister);
402
403 return TRUE;
404}
BOOLEAN HyperDbgReadTargetRegister(REGS_ENUM RegisterId, UINT64 *TargetRegister)
Read target register.
Definition r.cpp:247

◆ HyperDbgWriteTargetRegister()

BOOLEAN HyperDbgWriteTargetRegister ( REGS_ENUM RegisterId,
UINT64 Value )

Write target register.

Parameters
RegisterIdThe register ID
ValueThe value of the target register
Returns
BOOLEAN Returns true if it was successful
286{
288
289 //
290 // Set the register ID
291 //
292 RegState.RegisterId = (UINT32)RegisterId;
293 RegState.Value = Value;
294
296 {
297 return FALSE;
298 }
299
301 {
302 return TRUE;
303 }
304 else
305 {
307 return FALSE;
308 }
309}
RequestedActionOfThePacket Value(0x1) 00000000
BOOLEAN KdSendWriteRegisterPacketToDebuggee(PDEBUGGEE_REGISTER_WRITE_DESCRIPTION RegDes)
Send a write register packet to the debuggee.
Definition kd.cpp:562
Register Descriptor Structure to write on registers.
Definition RequestStructures.h:1171
UINT64 Value
Definition RequestStructures.h:1173
UINT32 RegisterId
Definition RequestStructures.h:1172
UINT32 KernelStatus
Definition RequestStructures.h:1174

Variable Documentation

◆ g_IsSerialConnectedToRemoteDebuggee

BOOLEAN g_IsSerialConnectedToRemoteDebuggee
extern

Shows if the debugger was connected to remote debuggee over (A remote guest)

◆ RegistersMap

std::map<std::string, REGS_ENUM> RegistersMap
22 {
23 {"rax", REGISTER_RAX},
24 {"eax", REGISTER_EAX},
25 {"ax", REGISTER_AX},
26 {"ah", REGISTER_AH},
27 {"al", REGISTER_AL},
28 {"rbx", REGISTER_RBX},
29 {"ebx", REGISTER_EBX},
30 {"bx", REGISTER_BX},
31 {"bh", REGISTER_BH},
32 {"bl", REGISTER_BL},
33 {"rcx", REGISTER_RCX},
34 {"ecx", REGISTER_ECX},
35 {"cx", REGISTER_CX},
36 {"ch", REGISTER_CH},
37 {"cl", REGISTER_CL},
38 {"rdx", REGISTER_RDX},
39 {"edx", REGISTER_EDX},
40 {"dx", REGISTER_DX},
41 {"dh", REGISTER_DH},
42 {"dl", REGISTER_DL},
43 {"rsi", REGISTER_RSI},
44 {"esi", REGISTER_ESI},
45 {"si", REGISTER_SI},
46 {"sil", REGISTER_SIL},
47 {"rdi", REGISTER_RDI},
48 {"edi", REGISTER_EDI},
49 {"di", REGISTER_DI},
50 {"dil", REGISTER_DIL},
51 {"rbp", REGISTER_RBP},
52 {"ebp", REGISTER_EBP},
53 {"bp", REGISTER_BP},
54 {"bpl", REGISTER_BPL},
55 {"rsp", REGISTER_RSP},
56 {"esp", REGISTER_ESP},
57 {"sp", REGISTER_SP},
58 {"spl", REGISTER_SPL},
59 {"r8", REGISTER_R8},
60 {"r8d", REGISTER_R8D},
61 {"r8w", REGISTER_R8W},
62 {"r8h", REGISTER_R8H},
63 {"r8l", REGISTER_R8L},
64 {"r9", REGISTER_R9},
65 {"r9d", REGISTER_R9D},
66 {"r9w", REGISTER_R9W},
67 {"r9h", REGISTER_R9H},
68 {"r9l", REGISTER_R9L},
69 {"r10", REGISTER_R10},
70 {"r10d", REGISTER_R10D},
71 {"r10w", REGISTER_R10W},
72 {"r10h", REGISTER_R10H},
73 {"r10l", REGISTER_R10L},
74 {"r11", REGISTER_R11},
75 {"r11d", REGISTER_R11D},
76 {"r11w", REGISTER_R11W},
77 {"r11h", REGISTER_R11H},
78 {"r11l", REGISTER_R11L},
79 {"r12", REGISTER_R12},
80 {"r12d", REGISTER_R12D},
81 {"r12w", REGISTER_R12W},
82 {"r12h", REGISTER_R12H},
83 {"r12l", REGISTER_R12L},
84 {"r13", REGISTER_R13},
85 {"r13d", REGISTER_R13D},
86 {"r13w", REGISTER_R13W},
87 {"r13h", REGISTER_R13H},
88 {"r13l", REGISTER_R13L},
89 {"r14", REGISTER_R14},
90 {"r14d", REGISTER_R14D},
91 {"r14w", REGISTER_R14W},
92 {"r14h", REGISTER_R14H},
93 {"r14l", REGISTER_R14L},
94 {"r15", REGISTER_R15},
95 {"r15d", REGISTER_R15D},
96 {"r15w", REGISTER_R15W},
97 {"r15h", REGISTER_R15H},
98 {"r15l", REGISTER_R15L},
99 {"ds", REGISTER_DS},
100 {"es", REGISTER_ES},
101 {"fs", REGISTER_FS},
102 {"gs", REGISTER_GS},
103 {"cs", REGISTER_CS},
104 {"ss", REGISTER_SS},
105 {"rflags", REGISTER_RFLAGS},
106 {"eflags", REGISTER_EFLAGS},
107 {"flags", REGISTER_FLAGS},
108 {"cf", REGISTER_CF},
109 {"pf", REGISTER_PF},
110 {"af", REGISTER_AF},
111 {"zf", REGISTER_ZF},
112 {"sf", REGISTER_SF},
113 {"tf", REGISTER_TF},
114 {"if", REGISTER_IF},
115 {"df", REGISTER_DF},
116 {"of", REGISTER_OF},
117 {"iopl", REGISTER_IOPL},
118 {"nt", REGISTER_NT},
119 {"rf", REGISTER_RF},
120 {"vm", REGISTER_VM},
121 {"ac", REGISTER_AC},
122 {"vif", REGISTER_VIF},
123 {"vip", REGISTER_VIP},
124 {"id", REGISTER_ID},
125 {"idtr", REGISTER_IDTR},
126 {"gdtr", REGISTER_GDTR},
127 {"ldtr", REGISTER_LDTR},
128 {"tr", REGISTER_TR},
129 {"cr0", REGISTER_CR0},
130 {"cr2", REGISTER_CR2},
131 {"cr3", REGISTER_CR3},
132 {"cr4", REGISTER_CR4},
133 {"cr8", REGISTER_CR8},
134 {"dr0", REGISTER_DR0},
135 {"dr1", REGISTER_DR1},
136 {"dr2", REGISTER_DR2},
137 {"dr3", REGISTER_DR3},
138 {"dr6", REGISTER_DR6},
139 {"dr7", REGISTER_DR7},
140 {"rip", REGISTER_RIP},
141 {"eip", REGISTER_EIP},
142 {"ip", REGISTER_IP},
143};
@ REGISTER_DIL
Definition ScriptEngineCommonDefinitions.h:349
@ REGISTER_DR1
Definition ScriptEngineCommonDefinitions.h:429
@ REGISTER_R12W
Definition ScriptEngineCommonDefinitions.h:372
@ REGISTER_EDI
Definition ScriptEngineCommonDefinitions.h:347
@ REGISTER_R14W
Definition ScriptEngineCommonDefinitions.h:382
@ REGISTER_BPL
Definition ScriptEngineCommonDefinitions.h:341
@ REGISTER_CF
Definition ScriptEngineCommonDefinitions.h:399
@ REGISTER_R8D
Definition ScriptEngineCommonDefinitions.h:351
@ REGISTER_DI
Definition ScriptEngineCommonDefinitions.h:348
@ REGISTER_R14L
Definition ScriptEngineCommonDefinitions.h:384
@ REGISTER_RDX
Definition ScriptEngineCommonDefinitions.h:324
@ REGISTER_R10H
Definition ScriptEngineCommonDefinitions.h:363
@ REGISTER_BH
Definition ScriptEngineCommonDefinitions.h:332
@ REGISTER_R12D
Definition ScriptEngineCommonDefinitions.h:371
@ REGISTER_GDTR
Definition ScriptEngineCommonDefinitions.h:421
@ REGISTER_R10
Definition ScriptEngineCommonDefinitions.h:360
@ REGISTER_DR3
Definition ScriptEngineCommonDefinitions.h:431
@ REGISTER_CR4
Definition ScriptEngineCommonDefinitions.h:426
@ REGISTER_CS
Definition ScriptEngineCommonDefinitions.h:394
@ REGISTER_BL
Definition ScriptEngineCommonDefinitions.h:333
@ REGISTER_AL
Definition ScriptEngineCommonDefinitions.h:318
@ REGISTER_IOPL
Definition ScriptEngineCommonDefinitions.h:408
@ REGISTER_CH
Definition ScriptEngineCommonDefinitions.h:322
@ REGISTER_RF
Definition ScriptEngineCommonDefinitions.h:410
@ REGISTER_DR6
Definition ScriptEngineCommonDefinitions.h:432
@ REGISTER_R12
Definition ScriptEngineCommonDefinitions.h:370
@ REGISTER_CL
Definition ScriptEngineCommonDefinitions.h:323
@ REGISTER_RBX
Definition ScriptEngineCommonDefinitions.h:329
@ REGISTER_TR
Definition ScriptEngineCommonDefinitions.h:422
@ REGISTER_PF
Definition ScriptEngineCommonDefinitions.h:400
@ REGISTER_ZF
Definition ScriptEngineCommonDefinitions.h:402
@ REGISTER_R14H
Definition ScriptEngineCommonDefinitions.h:383
@ REGISTER_EIP
Definition ScriptEngineCommonDefinitions.h:417
@ REGISTER_R9
Definition ScriptEngineCommonDefinitions.h:355
@ REGISTER_R12H
Definition ScriptEngineCommonDefinitions.h:373
@ REGISTER_R14D
Definition ScriptEngineCommonDefinitions.h:381
@ REGISTER_ESP
Definition ScriptEngineCommonDefinitions.h:335
@ REGISTER_IDTR
Definition ScriptEngineCommonDefinitions.h:419
@ REGISTER_RIP
Definition ScriptEngineCommonDefinitions.h:416
@ REGISTER_DL
Definition ScriptEngineCommonDefinitions.h:328
@ REGISTER_R11
Definition ScriptEngineCommonDefinitions.h:365
@ REGISTER_NT
Definition ScriptEngineCommonDefinitions.h:409
@ REGISTER_FS
Definition ScriptEngineCommonDefinitions.h:392
@ REGISTER_SPL
Definition ScriptEngineCommonDefinitions.h:337
@ REGISTER_OF
Definition ScriptEngineCommonDefinitions.h:407
@ REGISTER_DH
Definition ScriptEngineCommonDefinitions.h:327
@ REGISTER_R15
Definition ScriptEngineCommonDefinitions.h:385
@ REGISTER_LDTR
Definition ScriptEngineCommonDefinitions.h:420
@ REGISTER_AF
Definition ScriptEngineCommonDefinitions.h:401
@ REGISTER_CR8
Definition ScriptEngineCommonDefinitions.h:427
@ REGISTER_IP
Definition ScriptEngineCommonDefinitions.h:418
@ REGISTER_R8
Definition ScriptEngineCommonDefinitions.h:350
@ REGISTER_SS
Definition ScriptEngineCommonDefinitions.h:395
@ REGISTER_DR2
Definition ScriptEngineCommonDefinitions.h:430
@ REGISTER_R8L
Definition ScriptEngineCommonDefinitions.h:354
@ REGISTER_RAX
Definition ScriptEngineCommonDefinitions.h:314
@ REGISTER_R13
Definition ScriptEngineCommonDefinitions.h:375
@ REGISTER_R11D
Definition ScriptEngineCommonDefinitions.h:366
@ REGISTER_R13H
Definition ScriptEngineCommonDefinitions.h:378
@ REGISTER_EBX
Definition ScriptEngineCommonDefinitions.h:330
@ REGISTER_GS
Definition ScriptEngineCommonDefinitions.h:393
@ REGISTER_DR0
Definition ScriptEngineCommonDefinitions.h:428
@ REGISTER_R9L
Definition ScriptEngineCommonDefinitions.h:359
@ REGISTER_R15D
Definition ScriptEngineCommonDefinitions.h:386
@ REGISTER_CR2
Definition ScriptEngineCommonDefinitions.h:424
@ REGISTER_SF
Definition ScriptEngineCommonDefinitions.h:403
@ REGISTER_DX
Definition ScriptEngineCommonDefinitions.h:326
@ REGISTER_TF
Definition ScriptEngineCommonDefinitions.h:404
@ REGISTER_R9D
Definition ScriptEngineCommonDefinitions.h:356
@ REGISTER_ESI
Definition ScriptEngineCommonDefinitions.h:343
@ REGISTER_R15H
Definition ScriptEngineCommonDefinitions.h:388
@ REGISTER_RSI
Definition ScriptEngineCommonDefinitions.h:342
@ REGISTER_SIL
Definition ScriptEngineCommonDefinitions.h:345
@ REGISTER_BP
Definition ScriptEngineCommonDefinitions.h:340
@ REGISTER_AC
Definition ScriptEngineCommonDefinitions.h:412
@ REGISTER_R10L
Definition ScriptEngineCommonDefinitions.h:364
@ REGISTER_R13D
Definition ScriptEngineCommonDefinitions.h:376
@ REGISTER_R10D
Definition ScriptEngineCommonDefinitions.h:361
@ REGISTER_EFLAGS
Definition ScriptEngineCommonDefinitions.h:397
@ REGISTER_CR0
Definition ScriptEngineCommonDefinitions.h:423
@ REGISTER_DF
Definition ScriptEngineCommonDefinitions.h:406
@ REGISTER_R11H
Definition ScriptEngineCommonDefinitions.h:368
@ REGISTER_VM
Definition ScriptEngineCommonDefinitions.h:411
@ REGISTER_R15L
Definition ScriptEngineCommonDefinitions.h:389
@ REGISTER_R9H
Definition ScriptEngineCommonDefinitions.h:358
@ REGISTER_VIP
Definition ScriptEngineCommonDefinitions.h:414
@ REGISTER_SI
Definition ScriptEngineCommonDefinitions.h:344
@ REGISTER_R10W
Definition ScriptEngineCommonDefinitions.h:362
@ REGISTER_EAX
Definition ScriptEngineCommonDefinitions.h:315
@ REGISTER_CX
Definition ScriptEngineCommonDefinitions.h:321
@ REGISTER_BX
Definition ScriptEngineCommonDefinitions.h:331
@ REGISTER_IF
Definition ScriptEngineCommonDefinitions.h:405
@ REGISTER_R13L
Definition ScriptEngineCommonDefinitions.h:379
@ REGISTER_ES
Definition ScriptEngineCommonDefinitions.h:391
@ REGISTER_AX
Definition ScriptEngineCommonDefinitions.h:316
@ REGISTER_R12L
Definition ScriptEngineCommonDefinitions.h:374
@ REGISTER_RCX
Definition ScriptEngineCommonDefinitions.h:319
@ REGISTER_R8W
Definition ScriptEngineCommonDefinitions.h:352
@ REGISTER_R8H
Definition ScriptEngineCommonDefinitions.h:353
@ REGISTER_ID
Definition ScriptEngineCommonDefinitions.h:415
@ REGISTER_EDX
Definition ScriptEngineCommonDefinitions.h:325
@ REGISTER_RFLAGS
Definition ScriptEngineCommonDefinitions.h:396
@ REGISTER_VIF
Definition ScriptEngineCommonDefinitions.h:413
@ REGISTER_R11L
Definition ScriptEngineCommonDefinitions.h:369
@ REGISTER_R14
Definition ScriptEngineCommonDefinitions.h:380
@ REGISTER_R15W
Definition ScriptEngineCommonDefinitions.h:387
@ REGISTER_CR3
Definition ScriptEngineCommonDefinitions.h:425
@ REGISTER_SP
Definition ScriptEngineCommonDefinitions.h:336
@ REGISTER_DR7
Definition ScriptEngineCommonDefinitions.h:433
@ REGISTER_FLAGS
Definition ScriptEngineCommonDefinitions.h:398
@ REGISTER_RDI
Definition ScriptEngineCommonDefinitions.h:346
@ REGISTER_ECX
Definition ScriptEngineCommonDefinitions.h:320
@ REGISTER_R13W
Definition ScriptEngineCommonDefinitions.h:377
@ REGISTER_R11W
Definition ScriptEngineCommonDefinitions.h:367
@ REGISTER_DS
Definition ScriptEngineCommonDefinitions.h:390
@ REGISTER_RSP
Definition ScriptEngineCommonDefinitions.h:334
@ REGISTER_EBP
Definition ScriptEngineCommonDefinitions.h:339
@ REGISTER_AH
Definition ScriptEngineCommonDefinitions.h:317
@ REGISTER_RBP
Definition ScriptEngineCommonDefinitions.h:338
@ REGISTER_R9W
Definition ScriptEngineCommonDefinitions.h:357