ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
概要
.exe(executable の略)は、Microsoft Windows でプログラムを実行するための最も基本的なファイル形式です。アプリケーションのインストーラ、ゲーム、ユーティリティ、自作のスクリプトを変換した実行ファイルまで、Windows 上で「ダブルクリックで動く」ものの大半は .exe としてパッケージされています。
歴史的には MS-DOS 時代に登場した古典的な MZ 形式(DOS EXE)にさかのぼり、Windows 3.x で NE(New Executable)、Windows NT 以降で PE(Portable Executable)へと進化しました。現在の Windows 10 / 11 で配布される .exe はほぼ例外なく PE32(32bit)または PE32+(64bit)です。互換性のため、PE ファイルの先頭には今でも MZ ヘッダが残されており、古い OS で実行すると「This program cannot be run in DOS mode」と表示される短い DOS スタブが埋め込まれています。
.exe は単体で動作するように見えますが、多くの場合は DLL(.dll) など外部ライブラリに依存しています。インストーラの実体である MSI(.msi) を内部にラップした セットアップ .exe も一般的です。
内部構造
PE 形式の .exe は、先頭から以下のように構造化されています。
- DOS ヘッダ(IMAGE_DOS_HEADER): 先頭 2 バイトがマジックナンバー
4D 5A(ASCII で "MZ")。最後のフィールドe_lfanewが PE ヘッダの位置を指す - DOS スタブ: 「This program cannot be run in DOS mode.」と表示するだけの小さな 16bit プログラム
- PE シグネチャ:
50 45 00 00("PE\0\0") - COFF ファイルヘッダ(IMAGE_FILE_HEADER): マシンタイプ(x86 / x64 / ARM64)、セクション数、タイムスタンプ等
- オプショナルヘッダ(IMAGE_OPTIONAL_HEADER32 / 64): エントリポイント、イメージベース、サブシステム(GUI / Console)、必要 OS バージョン等。PE32 / PE32+ の区別はここで行う
- セクションテーブル:
.text(コード)、.data(初期化済みデータ)、.rdata(読み取り専用)、.rsrc(リソース)、.reloc(再配置情報)等 - IMAGE_NT_HEADERS: PE シグネチャ + COFF ヘッダ + オプショナルヘッダをまとめた論理単位
セクション内には、文字列、アイコン、バージョン情報、マニフェスト XML(UAC レベルや DPI 設定)まで埋め込まれています。Resource Hacker や PE Explorer などのツールで覗くと、アイコン画像や多言語リソースが見えます。
主な用途
- アプリケーション本体: notepad.exe、chrome.exe、explorer.exe など、Windows 上のあらゆる GUI/CUI アプリ
- インストーラ: setup.exe、install.exe。内部に圧縮されたファイル群と展開ロジックを持ち、最終的に MSI を呼び出すパターンも多い
- ゲーム / ランチャー: Steam クライアントや各ゲーム本体
- ポータブルアプリ: インストール不要で USB メモリから起動できるタイプ。レジストリを汚さない
- スクリプトのバイナリ化: PyInstaller / Nuitka(Python)、pkg(Node.js)、AutoHotkey 等で生成される単体 .exe
関連形式との比較
| 形式 | OS | 用途 | 特徴 |
|---|---|---|---|
| .exe (PE) | Windows | 実行ファイル | MZ ヘッダ + PE ヘッダ。GUI/CUI 両対応 |
| .dll | Windows | 動的リンクライブラリ | 同じ PE 形式だが単独実行不可 |
| .msi | Windows | インストーラ | OLE 構造化ストレージ。msiexec が解釈 |
| ELF | Linux/Unix | 実行ファイル | マジック 7F 45 4C 46 |
| Mach-O | macOS | 実行ファイル | .app バンドル内に格納される |
コマンド・ツール
- signtool.exe: コード署名の付与・検証。
signtool verify /pa app.exe - dumpbin.exe(Visual Studio 付属): PE ヘッダ、エクスポート、インポートを表示
- PE-bear / CFF Explorer: PE 構造を GUI で可視化
- Process Explorer: 起動中の .exe のロード DLL、ハンドル、署名状況を確認
- PowerShell でハッシュ確認:
Get-FileHash app.exe -Algorithm SHA256 - Mark of the Web の解除:
Unblock-File app.exe
注意点
- マルウェアの主要媒体: トロイの木馬、ランサムウェアの多くが .exe として配布される。出所不明な .exe は実行しない
- SmartScreen / Defender: インターネット経由でダウンロードした .exe には Mark of the Web(Zone.Identifier ADS)が付与され、初回実行時に警告が出る。これを軽率に解除しない
- コード署名の確認: プロパティ → デジタル署名タブで発行元を確認。署名なし、または "Unknown Publisher" の場合は警戒
- 互換性: 32bit .exe は 64bit Windows で WOW64 経由で動くが、64bit .exe は 32bit Windows で動かない
- アンチウイルスとの相性: PyInstaller で作った自作 .exe が誤検知されることがある。署名 + 評判蓄積で改善
- UAC(ユーザーアカウント制御): 管理者権限が必要な .exe は manifest に
requireAdministratorを書き、起動時に昇格プロンプトが出る
関連リンク
- 実行ファイル・パッケージ(親カテゴリ)
- ファイル拡張子とは(概論)
- DLL(.dll) — .exe とセットで動的リンクされる
- MSI(.msi) — Windows 標準インストーラ形式
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?