我有一个任务来构建使用寄存器printf
内的值调用的 rop 代码edx
。
我被困住了。我知道printf
函数的地址,并且我有一个工具可以找到小工具。
我正在尝试构建一个看起来像这样的堆栈:
someROPCode、printf_address、ret_address、ropCodeThatWrite_EDX_Value(printf 参数)。
我试过:someROPCode = add esp 0xc,re
t(跳过printf
函数,这样我就可以edx
在堆栈上写值)
ret_address=doesn't matter
ropCodeThatWrite_EDX_Value
=我想到了类似的东西:push eax
,,push edx
(ret
我不能使用只是push edx
因为我认为它会导致无限循环(我是新手)但现在我被卡住了(很明显这不是办法)。
有任何想法吗?