cat実行可能ファイルの開始記号はどこにありますか?

cat実行可能ファイルの開始記号はどこにありますか?

Ubuntu 18.04でIDA Proまたはcoreutilsを使用してプログラムを逆アセンブルすると、""記号がありますが、/bin/cat通常は。start_startgimp

ただし、スイッチを使用してnmシンボルを見つけると、シンボルは-D見つかりませんstart。なぜそんなことですか?

私の使命は、与えられたプログラムのエントリポイントを指す記号を見つけることです。

答え1

バイナリのエントリポイントはヘッダーのポイントとして見つけることができます。ELFバイナリLinuxで使用される場合、オフセット0x18の32ビットまたは64ビット値。

objdump -fバイナリを実行すると、これを確認できます。

nmバイナリのデバッグシンボルをバイナリから直接(削除していない場合)またはスタンドアロンシンボルとして使用できる場合は、コンパイラが実際に生成したと仮定すると、実際のシンボルのみが表示されます。

関連情報