12
  1. シンボルを取得し、ELF ファイル (の 16 進ダンプ) を取得します。この記号がどのセクションに表示されているかを知るにはどうすればよいですか?

  2. .strtabとはどう違い.shstrtabますか?シンボル文字列の別の配列はありますか?

シンボル名テーブルのインデックスを取得すると、それは 内または 内のインデックス.strtabですか.shstrtab?

4

2 に答える 2

15

最初の質問では、正しく理解するためにelfファイルの16進編集が必要になります。

2番目の質問の場合-strtabは文字列テーブルを表しますshstrtabはセクションヘッダー文字列テーブルを表します。

ELFヘッダーを読み取ると、すべてのElfHeader構造体にe_shstrndxというメンバーが含まれていることがわかります。これはshstrtabのインデックスです。このインデックスを使用してからshstrtabから読み取ると、そのセクションの名前を見つけることができます。

strtabは、他のすべての参照の文字列テーブルです。ELFオブジェクトからシンボルを読み取る場合、すべてのSYmbol構造体(Elf32_Sym)にはst_nameというメンバーがあります。これは、そのシンボルの文字列名を取得するためのstrtabへのインデックスです。

記号文字列の配列について詳しく教えてください。また、名前テーブルとはどういう意味ですか?

次のリンクを参照できます -LinuxでのELF文字列テーブルのCからの読み取り

これがあなたの質問に答えることを願っています。

于 2012-07-03T13:35:58.997 に答える