レジスタprintf
内の値で呼び出す rop コードを作成する割り当てがあります。edx
私は立ち往生しています。関数のアドレスを知ってprintf
いて、ガジェットを見つけるためのツールを持っています。
次のようなスタックを構築しようとしています。
someROPCode、printf_address、ret_address、ropCodeThatWrite_EDX_Value (printf 引数)。
私は試しました: t( funcをsomeROPCode = add esp 0xc,re
飛び越えて、スタックに値を書き込むことができます)printf
edx
ret_address=doesn't matter
ropCodeThatWrite_EDX_Value
= 次のようなことを考えました: push eax
, push edx
, (無限ループが発生すると思うという理由ret
だけで使用できません (私はこれが初めてです)。push edx
何か案は?