如何使用寄存器检查radare2中的内存地址?我想实现此命令在gdb中的作用:x/s $ebp+0x4

#1 楼

[0x080495e0]> x/8x @0x80483d0
- offset -   0 1  2 3  4 5  6 7  8 9  A B  C D  E F  0123456789ABCDEF
0x080483d0  7275 6e20 6173 202e                      run as .
[0x080495e0]> x/8s @0x80483d0
run as ./prog a_number (e.g. ./prog 90)
good.
bad.
[0x080495e0]>


radare2 -d xxxx \ calc.exe

[0x7c999712]> dr ebp
0x0007fd14
[0x7c999712]> x/16x @ebp+0x48
- offset -   0 1  2 3  4 5  6 7  8 9  A B  C D  E F  0123456789ABCDEF
0x0007fd5c  7d4c 5480 0000 0000 3400 00c0 a8a0 128a  }LT.....4.......
[0x7c999712]> x/s @ebp+0x48
}LT
4
[0x7c999712]>


评论


不能使用寄存器本身代替具体地址吗?

–robert
15年12月18日在12:06

#2 楼

您当然可以使用寄存器名称作为偏移量。 / hexdump / ...

#3 楼

除了先前的答案外,您还可以通过可视面板(或仅通过可视模式)查看内存。

只需按Enter即可在Zoom mode(全屏)中打开此面板。 1:找回-使用tab打开控制台abd shift + :找回。