【发布时间】:2013-04-04 08:44:14
【问题描述】:
我有一个任务来构建调用 printf 的 rop 代码,其值位于 edx 寄存器中。
我被困住了。我知道printf函数的地址,我有一个工具可以找到小工具。
我正在尝试构建一个看起来像这样的堆栈:
someROPCode、printf_address、ret_address、ropCodeThatWrite_EDX_Value(printf 参数)。
我试过:someROPCode = add esp 0xc,ret(跳过printf 函数,这样我就可以在堆栈上写入edx 值)
ret_address=doesn't matter
ropCodeThatWrite_EDX_Value = 我想到了类似的东西:push eax, push edx, ret(我不能只使用push edx,因为我认为它会导致无限循环(我是新手)但现在我被卡住了(很明显这不是办法)。
有什么想法吗?
【问题讨论】:
标签: assembly x86 buffer-overflow