2

如果我使用radare2,并且我运行,假设dr在调试时,它将打印一些寄存器的指针。让我们假装esp正在解决0x04084308或类似的事情。如果我想获得esp指向的值,我该怎么做?

提前致谢。

4

2 回答 2

3

打印rsp寄存器值

[0x560207c7275a]> dr?rsp
0x7fffa5e429c8

在 0x7fffa5e429c8 处打印 4 个字节的十六进制

[0x560207c7275a]> px 4 @rsp
- offset -       0 1  2 3  4 5  6 7  8 9  A B  C D  E F  0123456789ABCDEF
0x7fffa5e429c8  9b00 dae7                                ....

在 0x7fffa5e429c8 处打印 8 个字节的十六进制(命令px== x

[0x560207c7275a]> x 8 @rsp
- offset -       0 1  2 3  4 5  6 7  8 9  A B  C D  E F  0123456789ABCDEF
0x7fffa5e429c8  9b00 dae7 347f 0000                      ....4...
[0x560207c7275a]> 
于 2019-01-19T07:30:04.760 回答
0

这可以用 drr 解决,它将显示有关寄存器的更多信息,例如它们指向的位置:)。

否则,如果你想在程序内存中获取一个值,你可以 s 0xaddr 然后 V 来显示那里附近的信息。

于 2018-12-03T23:54:06.697 回答