Get the register value.
41{
42#if defined(SCRIPT_ENGINE_USER_MODE) && defined(HYPERDBG_LIBHYPERDBG)
44 {
46 }
47#endif
48
49 switch (RegId)
50 {
52 return GuestRegs->
rax;
53
54 break;
55
58
59 break;
60
63
64 break;
65
68
69 break;
70
73
74 break;
75
77 return GuestRegs->
rcx;
78
79 break;
80
83
84 break;
85
88
89 break;
90
93
94 break;
95
98
99 break;
100
102 return GuestRegs->
rdx;
103
104 break;
105
108
109 break;
110
113
114 break;
115
118
119 break;
120
123
124 break;
125
127 return GuestRegs->
rbx;
128
129 break;
130
133
134 break;
135
138
139 break;
140
143
144 break;
145
148
149 break;
150
152 return GuestRegs->
rsp;
153
154 break;
155
158
159 break;
160
163
164 break;
165
168
169 break;
170
172 return GuestRegs->
rbp;
173
174 break;
175
178
179 break;
180
183
184 break;
187
188 break;
189
191 return GuestRegs->
rsi;
192
193 break;
194
197
198 break;
199
202
203 break;
204
207
208 break;
209
211 return GuestRegs->
rdi;
212
213 break;
214
217
218 break;
219
222
223 break;
224
227
228 break;
229
231 return GuestRegs->
r8;
232
233 break;
234
237
238 break;
239
242
243 break;
244
247
248 break;
249
252
253 break;
255 return GuestRegs->
r9;
256
257 break;
258
261
262 break;
263
266
267 break;
268
271
272 break;
273
276
277 break;
278
280 return GuestRegs->
r10;
281
282 break;
283
286
287 break;
288
291
292 break;
293
296
297 break;
298
301
302 break;
303
305 return GuestRegs->
r11;
306
307 break;
308
311
312 break;
313
316
317 break;
318
321
322 break;
323
326
327 break;
328
330 return GuestRegs->
r12;
331
332 break;
333
336
337 break;
338
341
342 break;
343
346
347 break;
348
351
352 break;
353
355 return GuestRegs->
r13;
356
357 break;
358
361
362 break;
363
366
367 break;
368
371
372 break;
373
376
377 break;
378
380 return GuestRegs->
r14;
381
382 break;
383
386
387 break;
388
391
392 break;
393
396
397 break;
398
401
402 break;
403
405 return GuestRegs->
r15;
406
407 break;
408
411
412 break;
413
416
417 break;
418
421
422 break;
423
426
427 break;
428
430
431#ifdef SCRIPT_ENGINE_USER_MODE
433#endif
434
435#ifdef SCRIPT_ENGINE_KERNEL_MODE
437#endif
438
439 break;
440
442
443#ifdef SCRIPT_ENGINE_USER_MODE
445#endif
446
447#ifdef SCRIPT_ENGINE_KERNEL_MODE
449#endif
450
451 break;
452
454
455#ifdef SCRIPT_ENGINE_USER_MODE
457#endif
458
459#ifdef SCRIPT_ENGINE_KERNEL_MODE
461#endif
462
463 break;
464
466
467#ifdef SCRIPT_ENGINE_USER_MODE
469#endif
470
471#ifdef SCRIPT_ENGINE_KERNEL_MODE
473#endif
474
475 break;
476
478
479#ifdef SCRIPT_ENGINE_USER_MODE
481#endif
482
483#ifdef SCRIPT_ENGINE_KERNEL_MODE
485#endif
486
487 break;
488
490
491#ifdef SCRIPT_ENGINE_USER_MODE
493#endif
494
495#ifdef SCRIPT_ENGINE_KERNEL_MODE
497#endif
498
499 break;
500
502
503#ifdef SCRIPT_ENGINE_USER_MODE
505#endif
506
507#ifdef SCRIPT_ENGINE_KERNEL_MODE
509#endif
510
511 break;
512
514
515#ifdef SCRIPT_ENGINE_USER_MODE
517#endif
518
519#ifdef SCRIPT_ENGINE_KERNEL_MODE
521#endif
522
523 break;
524
526
527#ifdef SCRIPT_ENGINE_USER_MODE
529#endif
530
531#ifdef SCRIPT_ENGINE_KERNEL_MODE
533#endif
534
535 break;
536
538
539#ifdef SCRIPT_ENGINE_USER_MODE
541#endif
542
543#ifdef SCRIPT_ENGINE_KERNEL_MODE
545#endif
546
547 break;
548
550
551#ifdef SCRIPT_ENGINE_USER_MODE
553#endif
554
555#ifdef SCRIPT_ENGINE_KERNEL_MODE
557#endif
558
559 break;
560
562
563#ifdef SCRIPT_ENGINE_USER_MODE
565#endif
566
567#ifdef SCRIPT_ENGINE_KERNEL_MODE
569#endif
570
571 break;
572
574
575#ifdef SCRIPT_ENGINE_USER_MODE
577#endif
578
579#ifdef SCRIPT_ENGINE_KERNEL_MODE
581#endif
582
583 break;
584
586
587#ifdef SCRIPT_ENGINE_USER_MODE
589#endif
590
591#ifdef SCRIPT_ENGINE_KERNEL_MODE
593#endif
594
595 break;
596
598
599#ifdef SCRIPT_ENGINE_USER_MODE
601#endif
602
603#ifdef SCRIPT_ENGINE_KERNEL_MODE
605#endif
606
607 break;
608
610
611#ifdef SCRIPT_ENGINE_USER_MODE
613#endif
614
615#ifdef SCRIPT_ENGINE_KERNEL_MODE
617#endif
618
619 break;
620
622
623#ifdef SCRIPT_ENGINE_USER_MODE
625#endif
626
627#ifdef SCRIPT_ENGINE_KERNEL_MODE
629#endif
630
631 break;
632
634
635#ifdef SCRIPT_ENGINE_USER_MODE
637#endif
638
639#ifdef SCRIPT_ENGINE_KERNEL_MODE
641#endif
642
643 break;
644
646
647#ifdef SCRIPT_ENGINE_USER_MODE
649#endif
650
651#ifdef SCRIPT_ENGINE_KERNEL_MODE
653#endif
654
655 break;
656
658
659#ifdef SCRIPT_ENGINE_USER_MODE
661#endif
662
663#ifdef SCRIPT_ENGINE_KERNEL_MODE
665#endif
666
667 break;
668
670
671#ifdef SCRIPT_ENGINE_USER_MODE
673#endif
674
675#ifdef SCRIPT_ENGINE_KERNEL_MODE
677#endif
678
679 break;
680
682
683#ifdef SCRIPT_ENGINE_USER_MODE
685#endif
686
687#ifdef SCRIPT_ENGINE_KERNEL_MODE
689#endif
690
691 break;
692
694
695#ifdef SCRIPT_ENGINE_USER_MODE
697#endif
698
699#ifdef SCRIPT_ENGINE_KERNEL_MODE
701#endif
702
703 break;
704
706
707#ifdef SCRIPT_ENGINE_USER_MODE
709#endif
710
711#ifdef SCRIPT_ENGINE_KERNEL_MODE
713#endif
714
715 break;
716
718
719#ifdef SCRIPT_ENGINE_USER_MODE
721#endif
722
723#ifdef SCRIPT_ENGINE_KERNEL_MODE
725#endif
726
727 break;
728
730
731#ifdef SCRIPT_ENGINE_USER_MODE
733#endif
734
735#ifdef SCRIPT_ENGINE_KERNEL_MODE
737#endif
738
739 break;
740
742
743#ifdef SCRIPT_ENGINE_USER_MODE
745#endif
746
747#ifdef SCRIPT_ENGINE_KERNEL_MODE
749#endif
750
751 break;
752
754
755#ifdef SCRIPT_ENGINE_USER_MODE
757#endif
758
759#ifdef SCRIPT_ENGINE_KERNEL_MODE
761#endif
762
763 break;
764
766
767#ifdef SCRIPT_ENGINE_USER_MODE
769#endif
770
771#ifdef SCRIPT_ENGINE_KERNEL_MODE
773#endif
774
775 break;
776
778
779#ifdef SCRIPT_ENGINE_USER_MODE
781#endif
782
783#ifdef SCRIPT_ENGINE_KERNEL_MODE
784
786#endif
787
788 break;
789
791
792#ifdef SCRIPT_ENGINE_USER_MODE
794#endif
795
796#ifdef SCRIPT_ENGINE_KERNEL_MODE
797
799#endif
800
801 break;
802
804
805#ifdef SCRIPT_ENGINE_USER_MODE
807#endif
808
809#ifdef SCRIPT_ENGINE_KERNEL_MODE
810
812#endif
813
814 break;
815
817
818#ifdef SCRIPT_ENGINE_USER_MODE
820#endif
821
822#ifdef SCRIPT_ENGINE_KERNEL_MODE
824
825#endif
826
827 break;
828
830
831#ifdef SCRIPT_ENGINE_USER_MODE
833#endif
834
835#ifdef SCRIPT_ENGINE_KERNEL_MODE
837#endif
838
839 break;
840
842
843#ifdef SCRIPT_ENGINE_USER_MODE
845#endif
846
847#ifdef SCRIPT_ENGINE_KERNEL_MODE
849#endif
850
851 break;
852
854
855#ifdef SCRIPT_ENGINE_USER_MODE
857#endif
858
859#ifdef SCRIPT_ENGINE_KERNEL_MODE
861#endif
862
863 break;
864
866
867#ifdef SCRIPT_ENGINE_USER_MODE
869#endif
870
871#ifdef SCRIPT_ENGINE_KERNEL_MODE
873#endif
874
875 break;
876
878
879#ifdef SCRIPT_ENGINE_USER_MODE
881#endif
882
883#ifdef SCRIPT_ENGINE_KERNEL_MODE
885#endif
886
887 break;
888
890
891#ifdef SCRIPT_ENGINE_USER_MODE
893#endif
894
895#ifdef SCRIPT_ENGINE_KERNEL_MODE
897#endif
898
899 break;
900
902
903#ifdef SCRIPT_ENGINE_USER_MODE
905#endif
906
907#ifdef SCRIPT_ENGINE_KERNEL_MODE
909#endif
910
911 break;
912
914
915#ifdef SCRIPT_ENGINE_USER_MODE
917#endif
918
919#ifdef SCRIPT_ENGINE_KERNEL_MODE
921#endif
922
923 break;
924
926
927#ifdef SCRIPT_ENGINE_USER_MODE
929#endif
930
931#ifdef SCRIPT_ENGINE_KERNEL_MODE
933#endif
934
935 break;
936
938
939#ifdef SCRIPT_ENGINE_USER_MODE
941#endif
942
943#ifdef SCRIPT_ENGINE_KERNEL_MODE
945#endif
946
947 break;
948
950
951#ifdef SCRIPT_ENGINE_USER_MODE
953#endif
954
955#ifdef SCRIPT_ENGINE_KERNEL_MODE
957#endif
958
959 break;
960
961 default:
962
963#ifdef SCRIPT_ENGINE_USER_MODE
964 ShowMessages("error in reading register");
965#endif
966
967#ifdef SCRIPT_ENGINE_KERNEL_MODE
968 LogInfo(
"Error in reading register");
969#endif
970
972
973 break;
974 }
975}
UINT64 GetRegValueHwdbg(UINT64 *Regs, UINT32 RegId)
Get the register value for hardware debugging.
Definition Regs.c:27
#define LogInfo(format,...)
Define log variables.
Definition HyperDbgHyperLogIntrinsics.h:71
IMPORT_EXPORT_VMM UINT64 GetGuestCr4()
Get the Guest Cr4 value.
Definition ManageRegs.c:507
IMPORT_EXPORT_VMM UINT64 GetGuestCr8()
Get the Guest Cr8 value.
Definition ManageRegs.c:522
IMPORT_EXPORT_VMM UINT64 GetGuestIdtr()
Get the Guest Idtr.
Definition ManageRegs.c:304
IMPORT_EXPORT_VMM UINT64 GetGuestDr1()
Get the Guest Dr1 value.
Definition ManageRegs.c:681
IMPORT_EXPORT_VMM VMX_SEGMENT_SELECTOR GetGuestEs()
Get the Guest Es Selector.
Definition ManageRegs.c:274
IMPORT_EXPORT_VMM VMX_SEGMENT_SELECTOR GetGuestCs()
Get the Guest Cs Selector.
Definition ManageRegs.c:49
IMPORT_EXPORT_VMM UINT64 GetGuestGdtr()
Get the Guest Gdtr.
Definition ManageRegs.c:358
IMPORT_EXPORT_VMM UINT64 GetGuestLdtr()
Get the Guest Ldtr.
Definition ManageRegs.c:331
IMPORT_EXPORT_VMM UINT64 GetGuestDr2()
Get the Guest Dr2 value.
Definition ManageRegs.c:694
IMPORT_EXPORT_VMM VMX_SEGMENT_SELECTOR GetGuestDs()
Get the Guest Ds Selector.
Definition ManageRegs.c:139
IMPORT_EXPORT_VMM UINT64 GetGuestDr3()
Get the Guest Dr3 value.
Definition ManageRegs.c:707
IMPORT_EXPORT_VMM UINT64 GetGuestRFlags()
Get the Guest Rflags value.
Definition ManageRegs.c:409
IMPORT_EXPORT_VMM VMX_SEGMENT_SELECTOR GetGuestSs()
Get the Guest Ss Selector.
Definition ManageRegs.c:94
IMPORT_EXPORT_VMM UINT64 GetGuestRIP()
Get the Guest RIP value.
Definition ManageRegs.c:448
IMPORT_EXPORT_VMM VMX_SEGMENT_SELECTOR GetGuestGs()
Get the Guest Gs Selector.
Definition ManageRegs.c:229
IMPORT_EXPORT_VMM UINT64 GetGuestCr0()
Get the Guest Cr0 value.
Definition ManageRegs.c:463
IMPORT_EXPORT_VMM UINT64 GetGuestCr3()
Get the Guest Cr3 value.
Definition ManageRegs.c:492
IMPORT_EXPORT_VMM UINT64 GetGuestTr()
Get the Guest Tr.
Definition ManageRegs.c:383
IMPORT_EXPORT_VMM UINT64 GetGuestDr7()
Get the Guest Dr7 (breakpoint trigger) value.
Definition ManageRegs.c:733
IMPORT_EXPORT_VMM UINT64 GetGuestDr0()
Get the Guest Dr0 value.
Definition ManageRegs.c:668
IMPORT_EXPORT_VMM UINT64 GetGuestCr2()
Get the Guest Cr2 value.
Definition ManageRegs.c:478
IMPORT_EXPORT_VMM VMX_SEGMENT_SELECTOR GetGuestFs()
Get the Guest Fs Selector.
Definition ManageRegs.c:184
IMPORT_EXPORT_VMM UINT64 GetGuestDr6()
Get the Guest Dr6 (breakpoint status) value.
Definition ManageRegs.c:720
BOOLEAN g_HwdbgInstanceInfoIsValid
Shows whether the instance info is valid (received) or not.
Definition globals.h:697
NULL()
Definition test-case-generator.py:530
UINT16 Selector
Definition DataTypes.h:486
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