実行可能ファイルをダンプするときは、コードセグメントを標準出力にのみ出力し、オフセットやバイナリ形式のコードは出力しないようにします。私はそれを達成することはできません
man objdump
方法はありますか?
実行可能ファイルをダンプするときは、コードセグメントを標準出力にのみ出力し、オフセットやバイナリ形式のコードは出力しないようにします。私はそれを達成することはできません
man objdump
方法はありますか?
次のコマンドでオブジェクトコードの16進ダンプを抑制できます。
--no-show-raw-insn
コードにジャンプがある場合は、それらを理解するためにオフセットが必要ですが、本当にそれらを削除したい場合は、次のようなコードでコードをフィルタリングします。
objdump -d --no-show-raw-insn myfile.o | perl -p -e 's/^\s+(\S+):\t//;'
出力例:
0000000000000000 <foo>:
retq
lea 0x0(%rsi),%rsi
lea 0x0(%rdi),%rdi
Disassembly of section .gnu.linkonce.t.goo:
0000000000000000 <goo>:
retq
lea 0x0(%rsi),%rsi
lea 0x0(%rdi),%rdi
Peeter Jootが示したのと同じ出力を実現したいが、 Perlコマンドラインを使用しない場合。次に、以下に示すように、代わりにGrepおよびCutツールを使用できます。
objdump -d --no-show-raw-insn my_binary_file.o | grep "^ " | cut -f2,3