我正在研究这本书"黑客攻击艺术第2版"靠我自己并且已经达到了第一组障碍。
在GDB中,我可以理解这段代码:
x/x $rip
将以十六进制检查寄存器$ rip和输出。
但是这段代码做了什么:
x/2x $rip
这本书说它正在检查目标地址的多个单位。但这是否意味着它会在接下来的2次变化中显示$ rip的值。或者它意味着什么呢?
Columbo会说的另一个问题。在我调用了check命令之后,我得到了:
0x100000f00 <main+8> 0x00fc45c7
main + 8是什么意思?
答案 0 :(得分:5)
x/x $rip
将以十六进制检查寄存器$ rip和输出。
这是不正确的:它将检查$rip
指向的内存。如果您想检查$rip
本身,请使用print/x $rip
。
但是这段代码做了什么:
x/2x $rip
它检查$rip
指向的两个记忆词。
main+8
意味着什么
这意味着您正在查看包含说明的内存,距8
main()