2012-05-07 5 views
5

ELF形式では、インポートされる関数の名前はどこに格納されますか? PE実行ファイルのように、すべてのインポート名を列挙することはいつでも可能ですか?ELFバイナリでのインポート名

たとえば、バイナリがprintfを使用している場合、それはバイナリ自体の静的解析だけでは分かりますか?

答えて

7

ELFでは、未定義シンボルと呼ばれています。 ELFファイルがどのライブラリから来ている記号を指定しない

  • nm -D <file>|grep -w U

  • objdump -T <file>|grep "\*UND\*"

;:あなたはで未定義のシンボルのリストを表示することができますELFバイナリにリンクする共有ライブラリのリストを追加するだけで、リンカがライブラリ内のシンボルを見つけることができます。

+0

私たちはそれらの機能をどの共有ライブラリから得ることができませんか? –

+0

定義済みのシンボルもインポートできることに注意してください。どのシンボルが使用されているかは、再配置テーブルを参照する必要があります。 – ysdx

+0

@AnwarMohamed:ELFの特定の共有ライブラリに結び付けられていないため、いいえ。 – ysdx

関連する問題