这个问题能问吗,不能的话请老师屏蔽掉
如图,我想查看<phase_3+73>命令行 notrack jmp *%rax 中寄存器%rax 里面的地址存储的值,但这样使用"x"查询出来没有结果,请问错误出在哪里,或者有什么办法查看此时%rax 存储的地址中保存的值呢?
这个问题能问吗,不能的话请老师屏蔽掉
如图,我想查看<phase_3+73>命令行 notrack jmp *%rax 中寄存器%rax 里面的地址存储的值,但这样使用"x"查询出来没有结果,请问错误出在哪里,或者有什么办法查看此时%rax 存储的地址中保存的值呢?
我用一个与该 lab 无关的程序给你演示一下查看寄存器以及查看寄存器存储的地址上的值的方法,希望对你有帮助。
(gdb) info reg
rax 0x55555555532c 93824992236332
rbx 0x0 0
rcx 0x555555557d70 93824992247152
rdx 0x7fffffffde18 140737488346648
rsi 0x7fffffffde08 140737488346632
rdi 0x1 1
rbp 0x7fffffffdcf0 0x7fffffffdcf0
rsp 0x7fffffffdcf0 0x7fffffffdcf0
r8 0x7ffff7a1c050 140737347960912
r9 0x881 2177
r10 0x7ffff7fc3908 140737353890056
r11 0x7ffff7fde660 140737353999968
r12 0x7fffffffde08 140737488346632
r13 0x55555555532c 93824992236332
r14 0x555555557d70 93824992247152
r15 0x7ffff7ffd040 140737354125376
rip 0x555555555334 0x555555555334 <main+8>
eflags 0x246 [ PF ZF IF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
–Type for more, q to quit, c to continue without paging–
gs 0x0 0
(gdb)
(gdb) info reg rax
rax 0x55555555532c 93824992236332
(gdb) x/x $rax
0x55555555532c : 0xfa1e0ff3
(gdb) x/2xw $rax
0x55555555532c : 0xfa1e0ff3 0xe5894855
(gdb) p $rax
$1 = 93824992236332
(gdb) p/x $rax
$2 = 0x55555555532c
解决了,谢谢老师们!