ELF魔法とは何ですか?

ELF魔法とは何ですか?

以前はELF魔法についての議論を見たことがあり、最新のコメントは次のとおりです。このセキュリティスタック交換の質問。以前に言及したことを見たことがあり、私の起動ログでも見たことがありますが、それが何であるかはわかりません。

マニュアルページelfはC言語または低レベルの言語を使用しないので、私の能力を少し超えています。

毎日Linuxオペレーティングシステムを使用している人としてELFとは何ですか?

ベストアンサー1

あなたが引用したマニュアルページから:

elf - format of Executable and Linking Format (ELF) files

ELF は、Linux で使用される実行可能ファイルのバイナリ形式を定義します。実行可能ファイルを呼び出すとき、オペレーティングシステムは実行可能ファイルをメモリに正しくロードする方法、動的ライブラリの依存関係を解決する方法、ロードされた実行可能ファイルにジャンプして実行を開始する方法を知る必要があります。 ELF形式はこの情報を提供します。 ELFマジックは、ファイルの最初の数バイトだけがELFファイルを識別するために使用されます。

% od -c -N 16 /bin/ls
0000000 177   E   L   F 002 001 001  \0  \0  \0  \0  \0  \0  \0  \0  \0
0000020

または

% readelf -h /bin/ls | grep Magic
  Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 

この16バイトは、ファイルをELF実行可能ファイルとして明確に識別します。多くのファイル形式には、同じ操作(ファイルタイプの識別)を実行する「魔法の」バイトがあります。

おすすめ記事