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