如何在调试模式下使用radare2检查/编辑堆栈内存内容?

逆向工程 拆卸 雷达2 倾倒 堆栈变量
2021-07-09 20:51:14

我如何使用radare2检查/编辑堆栈内容,就像gdb一样?
有没有办法使用 $rbp 或 $rsp 寄存器来检查内存,如下所示。
x $rbp-10 <--- 类似这样的东西,它可以从这个特定的偏移量中转储。

如何在调试期间更改内存内容?
示例:类似于 set (address)=0xff

1个回答

要在radare2中检查,您可以将其视为“打印值”,您可以使用:

px show hexdump
pxl 显示hexdump 的N 行(行)
pxr[j] 显示带有标记和代码引用的单词(q=quiet)

示例:
> px [nBytes] @[address][offset]
"以 rbp 加 10 打印十六进制 10 字节"

[0x5618eccbf77a]> px 10 @rbp+10

> pxl [nLines] @[address][offset]
> pxr [nBytes] @[address][offset]

要编辑,您可以将其视为“写”使用:

w[1248][+-][n] 递增/递减字节、字..

示例:
> w [str] @[address]
"在 rbp 处写入 \x38\x38"

[0x5618eccbf77a]> w \x38\x38 @rbp