共有オブジェクト ファイル (ELF) 内の特定の関数に関連付けられた命令を取得する作業を行っています。
これは、python スクリプトから実現されます。コマンドラインからこれを確実に実行できます。これにより、Pythonスクリプトからcliコマンドを起動することが目標ではありません。代わりにライブラリを使用する必要があります。
私のスクリプトへの入力は、オブジェクトファイル名と次のような関数の名前です
python getInstructionStream.py main.o foo
結果は次のようになります
00000016 <foo>:
16: 55 push ebp
17: 89 e5 mov ebp,esp
19: 83 ec 10 sub esp,0x10
1c: 8b 45 0c mov eax,DWORD PTR [ebp+0xc]
1f: 8b 55 08 mov edx,DWORD PTR [ebp+0x8]
22: 01 d0 add eax,edx
24: 89 45 fc mov DWORD PTR [ebp-0x4],eax
27: 8b 45 fc mov eax,DWORD PTR [ebp-0x4]
2a: c9 leave
2b: c3 ret
アセンブリ構文で出力を表示する必要はありません。16進ストリームでも十分です。この種の作業に役立つライブラリを 1 つ以上挙げてくれる人はいますか?