1. ホーム
  2. linux

[解決済み] LinuxでELFファイルのデータセクションの内容を調べるにはどうしたらいいですか?

2023-05-09 23:23:43

質問

私はこれまで objdump を使用して、Linux ELF バイナリ内のアセンブリコードを見ることができます。

に格納されているジャンプテーブルを介した間接的なジャンプがあることもあります。 rodata (読み取り専用データ) セクションに格納されるジャンプテーブルを介した間接的なジャンプがあります。

取得方法 objdump または他のツールでこのデータセクションの内容を表示するには?

プログラムを実行し、デバッガで該当するアドレスを調べることもできますが、対話的に行わなければならないので、それはしたくありません。

理想的な答えは、単にコンテンツを表示するだけでなく、表示形式を制御できるツールを特定することです。 od がそうであるように。

どのように解決するのですか?

objdump -s -j .rodata exefile

の内容の16進/印刷可能なASCIIダンプを横に並べて表示します。 rodata セクションの内容を

Contents of section .rodata:
 0000 67452301 efcdab89 67452301 efcdab89  gE#.....gE#.....
 0010 64636261 68676665 64636261 68676665  dcbahgfedcbahgfe

書式を制御するための何かがあるようには見えませんが、これはスタートです。16進数をアンダンプしてodに送り込むことはいつでもできると思います :)