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 (vector< CommandToken > CommandTokens, string Command)
 handler of r command

Variables

BOOLEAN g_IsSerialConnectedToRemoteDebuggee
 Shows if the debugger was connected to remote debuggee over (A remote guest).
ACTIVE_DEBUGGING_PROCESS g_ActiveProcessDebuggingState
 State of active debugging thread.
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 ( vector< CommandToken > CommandTokens,
string Command )

handler of r command

Parameters
CommandTokens
Command
Returns
VOID
453{
454 REGS_ENUM RegKind;
455 std::vector<std::string> Tmp;
456 std::string SetRegisterValue;
457
458 if (CommandTokens.size() == 1)
459 {
460 //
461 // show all registers
462 //
465 {
467 }
468 else
469 {
470 ShowMessages("err, reading registers (r) is not valid in the current "
471 "context, you should connect to a debuggee or attach to a process\n");
472 }
473
474 return;
475 }
476
477 //
478 // clear additional space of the command string
479 //
480
481 //
482 // if command does not contain a '=' means user wants to read it
483 //
484 if (Command.find('=', 0) == string::npos)
485 {
486 //
487 // erase '=' from the string now we have just the name of register
488 //
489 Command.erase(0, 1);
490 ReplaceAll(Command, "@", "");
491 ReplaceAll(Command, " ", "");
492 if (RegistersMap.find(Command) != RegistersMap.end())
493 {
494 RegKind = RegistersMap[Command];
495 }
496 else
497 {
498 //
499 // set the Reg to -1(invalid register)
500 //
501 RegKind = (REGS_ENUM)-1;
502 }
503
504 if (RegKind != -1)
505 {
506 //
507 // send the request
508 //
511 {
513 }
514 else
515 {
516 ShowMessages("err, reading registers (r) is not valid in the current "
517 "context, you should connect to a debuggee or attach to a process\n");
518 }
519 }
520 else
521 {
522 ShowMessages("err, invalid register\n");
523 }
524 }
525
526 //
527 // if command contains a '=' means user wants modify the register
528 //
529 else if (Command.find('=', 0) != string::npos)
530 {
531 Command.erase(0, 1);
532 Tmp = Split(Command, '=');
533 if (Tmp.size() == 2)
534 {
535 ReplaceAll(Tmp[0], " ", "");
536 string tmp = Tmp[0];
537 if (RegistersMap.find(Tmp[0]) != RegistersMap.end())
538 {
539 RegKind = RegistersMap[Tmp[0]];
540 }
541 else
542 {
543 ReplaceAll(tmp, "@", "");
544 if (RegistersMap.find(tmp) != RegistersMap.end())
545 {
546 RegKind = RegistersMap[tmp];
547 }
548 else
549 {
550 RegKind = (REGS_ENUM)-1;
551 }
552 }
553 if (RegKind != -1)
554 {
555 //
556 // send the request
557 //
558 SetRegisterValue = "@" + tmp + '=' + Tmp[1] + "; ";
559
560 //
561 // Send data to the target user debugger or kernel debugger
562 //
563 ScriptEngineExecuteSingleExpression((CHAR *)SetRegisterValue.c_str(), TRUE, FALSE);
564 }
565 else
566 {
567 //
568 // error
569 //
570 ShowMessages("err, invalid register\n");
571 }
572 }
573 }
574}
BOOLEAN g_IsSerialConnectedToRemoteDebuggee
Shows if the debugger was connected to remote debuggee over (A remote guest).
Definition globals.h:253
ACTIVE_DEBUGGING_PROCESS g_ActiveProcessDebuggingState
State of active debugging thread.
Definition globals.h:372
#define TRUE
Definition BasicTypes.h:114
#define FALSE
Definition BasicTypes.h:113
char CHAR
Definition BasicTypes.h:33
REGS_ENUM
Definition ScriptEngineCommonDefinitions.h:315
VOID ReplaceAll(string &str, const string &from, const string &to)
const vector< string > Split(const string &s, const CHAR &c)
std::map< std::string, REGS_ENUM > RegistersMap
Definition r.cpp:23
BOOLEAN HyperDbgRegisterShowAll()
handler of r show all registers
Definition r.cpp:354
BOOLEAN HyperDbgRegisterShowTargetRegister(REGS_ENUM RegisterId)
handler of r show the target register
Definition r.cpp:424
BOOLEAN ScriptEngineExecuteSingleExpression(CHAR *Expr, BOOLEAN ShowErrorMessageIfAny, BOOLEAN IsFormat)
Execute single expression for the kernel debugger and the user-mode debugger.
Definition script-engine.cpp:100

◆ CommandRHelp()

VOID CommandRHelp ( )

help of the r command

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

◆ 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
176{
177 PGUEST_REGS Regs;
178 PGUEST_EXTRA_REGISTERS ExtraRegs;
180 UINT32 SizeOfRegState = 0;
181
182 //
183 // Calculate the size of the register state
184 //
185 SizeOfRegState = sizeof(DEBUGGEE_REGISTER_READ_DESCRIPTION) + sizeof(GUEST_REGS) + sizeof(GUEST_EXTRA_REGISTERS);
186
187 //
188 // Allocate memory for the register state
189 //
190 RegState = (DEBUGGEE_REGISTER_READ_DESCRIPTION *)malloc(SizeOfRegState);
191
192 //
193 // Check if the memory allocation was successful
194 //
195 if (RegState == NULL)
196 {
197 return FALSE;
198 }
199
200 //
201 // Set the register ID to show all registers
202 //
204
205 //
206 // Check whether a kernel debugger is connected or a user-mode debugger is active
207 //
209 {
210 if (!KdSendReadRegisterPacketToDebuggee(RegState, SizeOfRegState))
211 {
212 free(RegState);
213 return FALSE;
214 }
215 }
217 {
218 //
219 // It's stepping over user debugger
220 //
223 RegState,
224 SizeOfRegState))
225 {
226 free(RegState);
227 return FALSE;
228 }
229 }
230
232 {
233 //
234 // Copy the registers and extra registers to the output
235 //
236 Regs = (GUEST_REGS *)(((CHAR *)RegState) + sizeof(DEBUGGEE_REGISTER_READ_DESCRIPTION));
237 ExtraRegs = (GUEST_EXTRA_REGISTERS *)(((CHAR *)RegState) + sizeof(DEBUGGEE_REGISTER_READ_DESCRIPTION) + sizeof(GUEST_REGS));
238
239 if (GuestRegisters != NULL)
240 {
241 memcpy(GuestRegisters, Regs, sizeof(GUEST_REGS));
242 }
243
244 if (ExtraRegisters != NULL)
245 {
246 memcpy(ExtraRegisters, ExtraRegs, sizeof(GUEST_EXTRA_REGISTERS));
247 }
248 }
249 else
250 {
251 ShowErrorMessage(RegState->KernelStatus);
252 free(RegState);
253 return FALSE;
254 }
255
256 free(RegState);
257 return TRUE;
258}
struct GUEST_EXTRA_REGISTERS * PGUEST_EXTRA_REGISTERS
struct GUEST_REGS * PGUEST_REGS
unsigned int UINT32
Definition BasicTypes.h:54
#define DEBUGGEE_SHOW_ALL_REGISTERS
for reading all registers in r command.
Definition Constants.h:793
#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:40
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
UINT32 RegisterId
Definition RequestStructures.h:1617
UINT32 KernelStatus
Definition RequestStructures.h:1619
struct for extra registers
Definition BasicTypes.h:208
Definition BasicTypes.h:136
BOOLEAN UdSendReadRegisterToUserDebugger(UINT64 ProcessDetailToken, UINT32 TargetThreadId, PDEBUGGEE_REGISTER_READ_DESCRIPTION RegDes, UINT32 RegBuffSize)
Send the command to the user debugger.
Definition ud.cpp:1142

◆ 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
269{
271
272 //
273 // Set the register ID
274 //
275 RegState.RegisterId = (UINT32)RegisterId;
276
278 {
280 {
281 return FALSE;
282 }
283 }
285 {
286 //
287 // It's stepping over user debugger
288 //
291 &RegState,
293 {
294 return FALSE;
295 }
296 }
297
299 {
300 if (TargetRegister != NULL)
301 {
302 *TargetRegister = RegState.Value;
303 }
304 }
305 else
306 {
308 return FALSE;
309 }
310
311 return TRUE;
312}
UINT64 Value
Definition RequestStructures.h:1618

◆ HyperDbgRegisterShowAll()

BOOLEAN HyperDbgRegisterShowAll ( )

handler of r show all registers

Returns
BOOLEAN
355{
356 GUEST_REGS Regs = {0};
357 GUEST_EXTRA_REGISTERS ExtraRegs = {0};
358 RFLAGS Rflags = {0};
359
360 if (!HyperDbgReadAllRegisters(&Regs, &ExtraRegs))
361 {
362 return FALSE;
363 }
364
365 //
366 // Show the result of reading registers like rax=0000000000018b01
367 //
368 Rflags.AsUInt = ExtraRegs.RFLAGS;
369
370 ShowMessages(
371 "RAX=%016llx RBX=%016llx RCX=%016llx\n"
372 "RDX=%016llx RSI=% 016llx RDI=%016llx\n"
373 "RIP=%016llx RSP=%016llx RBP=%016llx\n"
374 "R8 =%016llx R9 =%016llx R10=%016llx\n"
375 "R11=%016llx R12=%016llx R13=%016llx\n"
376 "R14=%016llx R15=%016llx IOPL=%02x\n"
377 "%s %s %s %s\n%s %s %s %s\n"
378 "CS %04x SS %04x DS %04x ES %04x FS %04x GS %04x\n"
379 "RFLAGS=%016llx\n",
380 Regs.rax,
381 Regs.rbx,
382 Regs.rcx,
383 Regs.rdx,
384 Regs.rsi,
385 Regs.rdi,
386 ExtraRegs.RIP,
387 Regs.rsp,
388 Regs.rbp,
389 Regs.r8,
390 Regs.r9,
391 Regs.r10,
392 Regs.r11,
393 Regs.r12,
394 Regs.r13,
395 Regs.r14,
396 Regs.r15,
397 Rflags.IoPrivilegeLevel,
398 Rflags.OverflowFlag ? "OF 1" : "OF 0",
399 Rflags.DirectionFlag ? "DF 1" : "DF 0",
400 Rflags.InterruptEnableFlag ? "IF 1" : "IF 0",
401 Rflags.SignFlag ? "SF 1" : "SF 0",
402 Rflags.ZeroFlag ? "ZF 1" : "ZF 0",
403 Rflags.ParityFlag ? "PF 1" : "PF 0",
404 Rflags.CarryFlag ? "CF 1" : "CF 0",
405 Rflags.AuxiliaryCarryFlag ? "AXF 1" : "AXF 0",
406 ExtraRegs.CS,
407 ExtraRegs.SS,
408 ExtraRegs.DS,
409 ExtraRegs.ES,
410 ExtraRegs.FS,
411 ExtraRegs.GS,
412 ExtraRegs.RFLAGS);
413
414 return TRUE;
415}
BOOLEAN HyperDbgReadAllRegisters(GUEST_REGS *GuestRegisters, GUEST_EXTRA_REGISTERS *ExtraRegisters)
Read all registers.
Definition r.cpp:175
UINT16 FS
Definition BasicTypes.h:211
UINT16 ES
Definition BasicTypes.h:213
UINT64 RFLAGS
Definition BasicTypes.h:215
UINT64 RIP
Definition BasicTypes.h:216
UINT16 DS
Definition BasicTypes.h:210
UINT16 SS
Definition BasicTypes.h:214
UINT16 GS
Definition BasicTypes.h:212
UINT16 CS
Definition BasicTypes.h:209
UINT64 rsp
Definition BasicTypes.h:145
UINT64 r14
Definition BasicTypes.h:155
UINT64 r15
Definition BasicTypes.h:156
UINT64 rdi
Definition BasicTypes.h:148
UINT64 rax
Definition BasicTypes.h:141
UINT64 r12
Definition BasicTypes.h:153
UINT64 r13
Definition BasicTypes.h:154
UINT64 r9
Definition BasicTypes.h:150
UINT64 r8
Definition BasicTypes.h:149
UINT64 rbp
Definition BasicTypes.h:146
UINT64 rbx
Definition BasicTypes.h:144
UINT64 r10
Definition BasicTypes.h:151
UINT64 rcx
Definition BasicTypes.h:142
UINT64 rsi
Definition BasicTypes.h:147
UINT64 r11
Definition BasicTypes.h:152
UINT64 rdx
Definition BasicTypes.h:143

◆ 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
425{
426 UINT64 TargetRegister = 0;
427
428 //
429 // Read target register
430 //
431 if (!HyperDbgReadTargetRegister(RegisterId, &TargetRegister))
432 {
433 return FALSE;
434 }
435
436 ShowMessages("%s=%016llx\n",
437 RegistersNames[RegisterId],
438 TargetRegister);
439
440 return TRUE;
441}
BOOLEAN HyperDbgReadTargetRegister(REGS_ENUM RegisterId, UINT64 *TargetRegister)
Read target register.
Definition r.cpp:268

◆ 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
323{
325
326 //
327 // Set the register ID
328 //
329 RegState.RegisterId = (UINT32)RegisterId;
330 RegState.Value = Value;
331
333 {
334 return FALSE;
335 }
336
338 {
339 return TRUE;
340 }
341 else
342 {
344 return FALSE;
345 }
346}
struct _DEBUGGEE_REGISTER_WRITE_DESCRIPTION DEBUGGEE_REGISTER_WRITE_DESCRIPTION
Register Descriptor Structure to write on registers.
RequestedActionOfThePacket Value(0x1) 00000000
BOOLEAN KdSendWriteRegisterPacketToDebuggee(PDEBUGGEE_REGISTER_WRITE_DESCRIPTION RegDes)
Send a write register packet to the debuggee.
Definition kd.cpp:562
UINT64 Value
Definition RequestStructures.h:1632
UINT32 RegisterId
Definition RequestStructures.h:1631
UINT32 KernelStatus
Definition RequestStructures.h:1633

Variable Documentation

◆ g_ActiveProcessDebuggingState

ACTIVE_DEBUGGING_PROCESS g_ActiveProcessDebuggingState
extern

State of active debugging thread.

372{0};

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