Pythonを使用して、バイナリのフローをリダイレクトするアセンブリコードを書き出そうとしています。これは学校用です。私はかなりうまくやっていますが、残念ながら行き詰まっています。実行する必要のあるアセンブリコード操作のリストを決定しましたが、問題はmovl呼び出しにあります。私はこれがのように見える必要がありますmovl $0x0, add(%ebp)
。私はPythonを使用してこれらの16進値を環境変数に格納し、その環境変数の場所にジャンプすることを計画しています。だから、私は次のようなことをします
export CODE=`python -c 'print "somehex...\xc7\x45\xfc\x00\x00\x00\x00...morehex"'`
これにより、これがenvに正常に格納され、gdbでジャンプすると、アセンブリコードをx/iできます。このmovl呼び出しを除いて、すべてが良さそうです。\ x00を引数($ 0x0と想定)として読み取るのではなく、ソースの引数として次の4つの16進値を取ります。私が選択したPythonの方法でmovlのsrc引数に$0x0を書き込む他の方法を見つけることができません。
どんな助けでも大歓迎です。かなり長い間これに取り組んできました。