.ELF

ELF ファイル

Executable and Linkable Format
質問する
クイック回答

ELF ファイルは、Linux、Android、BSD、およびほとんどの Unix 系システムで使用されるバイナリ実行形式であり、Windows の EXE に相当します。Linux では直接実行します。PS2 自作ソフトの .elf は PCSX2 で、GameCube/Wii の .elf は Dolphin で動作します。ELF は Windows や macOS ではネイティブに動作せず、他の実行ファイルと同様にマルウェアである可能性があるため、信頼できるソースからのファイルのみを実行してください。

開発元: Unix System Laboratories (AT&T); now an open System V / TIS standard カテゴリ: 実行ファイル オープンスタンダード MIME: application/x-elf
対応OS Windows macOS Linux
関連: .APK · .EXE · .VBS · .JAR

このページの内容

19k+ 個の拡張子を索引済み
最終確認日:Aug 26, 2026

ファイルの種類がわかりませんか?

ファイルを識別ツールにドロップしてください。最初の数バイトを読み取って形式を特定します。

ファイルを識別する

ELF ファイル形式とは?

.elf 拡張子を持つファイルは、Executable and Linkable Format 標準に従って構造化されたバイナリデータを格納します。これは Linux、ほとんどの Unix 系システム、および多くの組み込みプラットフォームにおけるデフォルトの実行ファイルおよびオブジェクト形式です。この形式は、Unix System Laboratories によって Unix System V Release 4 で導入され、後に Tool Interface Standard (TIS) ポータブル仕様として批准されました。

ELF ファイルには、以下の種類のコンテンツを格納できます:

  • アプリケーションやツールの実行ファイル(多くの場合 .bin ファイル として配布されます)
  • コンパイル済みオブジェクトファイル(通常は .o 拡張子を持ちます)
  • 共有ライブラリ(.so 拡張子を持つファイル)
  • コアダンプ(プロセスクラッシュ後に生成されるメモリのスナップショット)

この形式は、明確に定義されたバイナリ構造に基づいています。すべての .elf ファイルは、オフセット 0 に 4 バイトのマジックシーケンス 7F 45 4C 46(0x7F に続く ASCII 文字 ELF)で始まり、その後にターゲットアーキテクチャ、ワードサイズ(32ビットまたは 64ビット)、およびバイトオーダー(リトルエンディアンまたはビッグエンディアン)を識別するヘッダーフィールドが続きます。次に、2 つのオプションのテーブル(プログラムヘッダーテーブルとセクションヘッダーテーブル)が、実行時にセグメントをどのようにロードするか、およびリンクのためにセクションがどのように構成されているかを記述します。

ELF 標準は Unix システムを念頭に置いて開発されましたが、PlayStation 2 や Wii などのゲームコンソール、Android、および多くの組み込み環境を含む他のプラットフォームでもすぐに採用されました。標準の MIME タイプは application/x-elf です。.elf ファイルの内容は人間が読める形式ではありません。readelf や objdump(いずれも GNU Binutils の一部)などのツールを使用すると、実行せずにヘッダーを検査したりコードを逆アセンブルしたりできます。

セキュリティと安全性

リスク: HIGH

他の実行ファイルと同様に、ELF にはマルウェアが含まれている可能性があります。Linux/IoT ボットネット(Mirai の亜種など)は ELF バイナリとして配布されており、実行されるとユーザーの権限で動作します。信頼できるソースからの ELF ファイルのみを実行してください。安易に «chmod +x» を行ってランダムなダウンロードファイルを実行しないでください。不明な ELF は実行前に readelf/objdump で安全に検査するか、VirusTotal でスキャンしてください。コンソールの自作ソフト .elf ファイルはリスクが低い(エミュレータのサンドボックス内で動作する)ですが、それでも信頼できる自作ソフトソースから入手してください。

形式の詳細

概要
正式名称Executable and Linkable Format
開発元Unix System Laboratories (AT&T); now an open System V / TIS standard登場時期 1989 (Unix System V Release 4); adopted as the TIS/System V ABI standard
カテゴリ実行ファイル
MIME タイプapplication/x-elf
タイプバイナリ実行ファイル / オブジェクト / 共有ライブラリ形式
標準規格オープン・ロイヤリティフリー
マジックバイト ・ ファイルシグネチャ
オフセット
00010203
16進数
7F454C46
ASCII
·ELF
すべての ELF ファイルは、オフセット 0 に 4 バイトのマジック 7F 45 4C 46 (0x7F + "ELF") で始まります。バイト 4 (EI_CLASS) は 32ビットなら 1、64ビットなら 2 です。バイト 5 (EI_DATA) はリトルエンディアンなら 1、ビッグエンディアンなら 2 です。バイト 16 (e_type) は、それが実行ファイル、再配置可能オブジェクト、共有オブジェクト (.so)、またはコアダンプのいずれであるかを示します。

ELF ファイルを開くプログラム

Windows3 apps
PCSX2 (PlayStation 2 emulator) オープンソース PS2 自作ソフト/SDK の .elf を実行します:File > Run ELF(または .elf を直接起動)。PS2 ELF バイナリ専用です。
Dolphin (GameCube/Wii emulator) オープンソース Dolphin で GameCube/Wii 自作ソフトの .elf を開いて実行します。任天堂コンソール用 ELF バイナリ専用です。
Ghidra オープンソース ELF をインポートして逆アセンブルし、読み取り可能な C 言語にデコンパイルします。リバースエンジニアリングや分析に使用されます。
macOS1 app
Ghidra オープンソース ELF をインポートして逆アセンブルし、読み取り可能な C 言語にデコンパイルします。リバースエンジニアリングや分析に使用されます。
Linux4 apps
Linux (run it) 標準搭載 実行可能にして実行します:«chmod +x ./program && ./program»。ELF 実行ファイルそのものがプログラムであり、「表示」するものはありません。CPU アーキテクチャが一致している必要があります。
readelf (GNU binutils) オープンソース 実行せずに検査します:«readelf -a file.elf» は、ヘッダー、セクション、シンボル、およびターゲットアーキテクチャを表示します。
objdump (GNU binutils) オープンソース 逆アセンブルします:«objdump -d file.elf» はマシンコードを表示し、«objdump -x» はすべてのヘッダーを表示します。
Ghidra オープンソース ELF をインポートして逆アセンブルし、読み取り可能な C 言語にデコンパイルします。リバースエンジニアリングや分析に使用されます。

技術的詳細

詳細仕様
マジックナンバーバイトオフセット 0 に `7F 45 4C 46`(0x7F に続く ASCII `ELF`)。すべての有効な ELF ファイルに存在します
MIME タイプ`application/x-elf`
ワードサイズのバリエーション32ビット (EI_CLASS = `01`) および 64ビット (EI_CLASS = `02`)。ELF ヘッダーのオフセット 4 でエンコードされます
バイトオーダーフィールドオフセット 5 の EI_DATA:`01` = リトルエンディアン、`02` = ビッグエンディアン。ターゲットのハードウェアアーキテクチャによって決定されます
ファイルタイプ (e_type)ET_EXEC (実行ファイル)、ET_REL (再配置可能オブジェクト)、ET_DYN (共有オブジェクトまたは PIE)、ET_CORE (コアdump)
ターゲットアーキテクチャx86, x86-64, ARM, AArch64, MIPS, RISC-V, PowerPC, SPARC など多数。ELF ヘッダーの `e_machine` フィールドで識別されます
OS/ABI 識別子オフセット 7 の EI_OSABI バイトがターゲット ABI を指定:0 = System V, 3 = Linux, 9 = FreeBSD, 12 = Solaris
構造レイアウトELF ヘッダー → オプションのプログラムヘッダーテーブル(実行時ロードセグメント) → データ → オプションのセクションヘッダーテーブル(リンク時セクション)
主要な名前付きセクション`.text` (コード), `.data` (初期化済みデータ), `.bss` (ゼロ初期化データ), `.rodata` (定数), `.symtab` / `.dynsym` (シンボル), `.rel` / `.rela` (再配置)
動的リンク共有オブジェクトは実行時リンカ (`ld.so`) によってロード時に解決されます。必要なインタプリタのパスは `PT_INTERP` プログラムヘッダーに格納されます
デバッグ情報DWARF デバッグデータは ELF の `.debug_*` セクションに埋め込まれており、`strip` コマンドで製品バイナリから削除できます
位置独立実行ファイルPIE バイナリは ET_DYN タイプであり、ASLR をサポートします。Linux カーネルは起動ごとにベースロードアドレスをランダム化します
主な検査ツールGNU Binutils が提供する `readelf -a` (ヘッダー、シンボル、セクション) および `objdump -d` (逆アセンブル)
リリース日1989 (Unix System V Release 4); adopted as the TIS/System V ABI standard
オープンスタンダードはい · ロイヤリティフリー
仕様書refspecs.linuxfoundation.org

ELF の変換

コミュニティ Q&A

ユーザーからの質問
質問する
ELF ファイルを扱うユーザーからヘルプを得られます。OSやソフトウェアのバージョンなど、具体的に記載してください。
アカウント不要 ・ 通常1日以内に回答されます

まだ質問はありません。ELF ファイルについて最初の質問をしてみましょう。

よくある質問

ELF ファイルを開くにはどうすればよいですか?
ファイルの種類によります。Linux プログラムの ELF は「開く」のではなく「実行」します:«chmod +x ./file && ./file»。PlayStation 2 の自作ソフト .elf は PCSX2 で動作し、GameCube/Wii の .elf は Dolphin で動作します。実行せずに ELF の中身を確認するには、readelf、objdump、または Ghidra を使用します。
Windows で ELF ファイルを実行できますか?
ネイティブでは実行できません。ELF は Unix/Linux 形式であり、Windows は EXE/PE を使用します。Linux の ELF を実行するには WSL (Windows Subsystem for Linux) または Linux 仮想マシンを使用し、コンソールの自作ソフト .elf を実行するにはエミュレータ (PCSX2/Dolphin) を使用してください。
ELF ファイルは EXE と同じですか?
異なるシステムにおける同等の存在です。ELF は Linux/Unix の実行形式であり、EXE (PE) は Windows の形式です。これらに互換性はなく、相互に変換することもできません。
PCSX2 や Dolphin で ELF を実行するにはどうすればよいですか?
PCSX2 では PS2 自作ソフトに対して «Run ELF»(または .elf を起動)を使用します。Dolphin では GameCube/Wii 自作ソフトの .elf を直接開きます。その ELF が構築されたコンソールに対応する適切なエミュレータが必要です。
ELF ファイルの中身を確認するにはどうすればよいですか?
ヘッダー/セクション/シンボルを確認するには «readelf -a file» を、逆アセンブルするには «objdump -d file» を使用します。また、Ghidra にインポートして C 言語にデコンパイルすることもできます。これにより、実行せずにファイルを検査できます。
ELF ファイルを実行しても安全ですか?
信頼できるソースからのものに限ります。ELF バイナリはマルウェアである可能性があります(Linux/IoT ボットネットは ELF 形式です)。不明なファイルは、まず readelf や VirusTotal で検査してください。コンソールの自作ソフト .elf ファイルはエミュレータのサンドボックス内で実行されるため、リスクは比較的低いですが、それでも評判の良い自作ソフトソースから入手するようにしてください。

参考文献

1Wikipedia - Executable and Linkable Formaten.wikipedia.org
2GNU Binutils - readelf / objdumpwww.gnu.org

さらに探索

データベース全体から

今週のトップ拡張子

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.M4AMPEG-4 Audio File
5.EXEWindows Executable (Portable Executable)
6.ICSiCalendar data file
7.DATProgram Data File (generic)
8.RPMSGRestricted Permission Message
9.JSONJavaScript Object Notation file
10.ODTOpenDocument Text

関連する拡張子

.APKAndroid Package
.EXEWindows Executable (Portable Executable)
.VBSVBScript file (Visual Basic Script)
.JARJava Archive
.EX4MetaTrader 4 Compiled Program (Expert Advisor / Indicator / Script)
.APPXMicrosoft Windows App Package (AppX)

無料ファイルツール

ブラウザで動作するファイル識別および画像変換ツール。すべてお使いのデバイス上で実行されます。

ツールボックスを開く

ファイル拡張子を A-Z で閲覧