【いーえっくすいーふぁいる】

EXEファイル とは?

💡 Windowsの「実行ファイル」、ダブルクリックで動くプログラム
📌 このページのポイント
EXEファイル(ソースコードから実行ファイルへ) #include <stdio.h> int main() { printf("Hi"); return 0; } ソースコード (.c / .cpp) コンパイラ 機械語に変換 コンパイル リンカ ライブラリ結合 リンク .exe 実行可能 ダブルクリック で実行! EXEファイル EXEファイルの内部構造(PE形式) PEヘッダ .text(コード) .data(データ) .rsrc(リソース) インポート
EXEファイルのイメージ
ひよこ ひよこ

EXEファイルって何なの?

ペンギン先生 ペンギン先生

Windowsで動く実行ファイルの形式だよ。ダブルクリックするとプログラムが起動する。インストーラ(Chrome-Setup.exeとか)も本体アプリ(notepad.exeとか)もEXE形式。機械語(バイナリ)が含まれていてCPUが直接実行する。

ひよこ ひよこ

マルウェアがEXEなのはなぜ?

ペンギン先生 ペンギン先生

実行ファイルなのでシステムを自由に操作できるから。「無料ソフト」を装ったEXEを実行するとウイルスが入る典型的な手口。怪しいEXEを実行しないこと・ダウンロード前にウイルス対策ソフトスキャンするのが基本。

ひよこ ひよこ

Linuxプログラム拡張子がないの?

ペンギン先生 ペンギン先生

Linuxではファイルのパーミッション(実行権限)で実行可能かを判断するから拡張子は不要。実行ファイル形式はELF(Executable and Linkable Format)。「chmod +x myapp」で実行権限を付ければどんなファイル名でも実行できる。

ひよこ ひよこ

EXEファイルの中身って見られるの?

ペンギン先生 ペンギン先生

バイナリエディタで開けば16進数の羅列が見えるけど、人間が読むのは困難。IDA ProやGhidraというツールで逆アセンブルすればアセンブリコードとして読める。リバースエンジニアリングと呼ばれる技術で、マルウェア分析などに使われるんだ。

ひよこ ひよこ

PythonJavaプログラムもEXEにできるの?

ペンギン先生 ペンギン先生

できるよ。PythonならPyInstallerやNuitka、JavaならGraalVMのNative Imageを使ってEXE化できる。PythonインタープリタやJVMを同梱するから、ファイルサイズが大きくなりがちだけど、ユーザーにPythonインストールを求めずに配布できるメリットがあるんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
EXEファイルって出てきたら「Windowsで実行できるプログラムファイル、インストーラや本体アプリの拡張子」と思えばOK!
📖 おまけ:英語の意味
「Executable File」 = 実行可能ファイル
💬 「Execute(実行する)」から派生した拡張子。DOSの時代から引き継いだWindowsの主要な実行ファイル形式
← 用語集にもどる