PEファイル選択:
このツールについて
このツールは、PE (Portable Executable) ファイルのヘッダー情報を表示するためのものです。 dumpbinに近い情報をブラウザーで表示することができます。 ただし、PEファイルの構造は複雑であらゆるパターンを試すことが困難なため、機能を継ぎ足し継ぎ足しで開発しています。 dumpbinで得られる結果と異なる場合があるかもしれませんので、参考程度にご利用ください。
PE (Portable Executable) について
PE (Portable Executable) は、Windows上で実行可能ファイルやライブラリファイルに使用されるファイル形式です。 .exe、.dll、.sys、.ocx、.scr、.cplなどの拡張子のファイルがPE形式を使用します。
サポートするファイル形式
PE (Portable Executable) 形式のファイルであれば拡張子に関係なく解析できます。 一般的なPE形式ファイルには以下のようなものがあります:
- .exe: 実行可能ファイル(アプリケーション)
- .dll: ダイナミックリンクライブラリ
- .sys: システムファイル(デバイスドライバーなど)
- .ocx: ActiveXコントロール
- .scr: スクリーンセーバー
- .cpl: コントロールパネル項目
- その他: 拡張子が異なっていてもPE形式であれば解析可能
PE構造の概要
- DOSヘッダー: MS-DOS互換性のための古い形式のヘッダー
- COFFファイルヘッダー: アーキテクチャやセクション数などの基本情報
- オプショナルヘッダー: エントリーポイントやメモリレイアウトなどの詳細情報
- データディレクトリ: インポート/エクスポートテーブルなどの重要な構造体の位置
- セクション: コード、データ、リソースなどの実際の内容
使い方
- PE形式のファイルを選択またはドラッグ&ドロップします(拡張子は問いません)
- 自動的にファイルが解析され、ヘッダー情報が表示されます
- 各セクションの詳細情報を確認できます
- 「詳細情報」セクションからテキスト形式で情報をコピーできます
注意事項
- すべての処理はブラウザ内で実行され、ファイルがサーバーに送信されることはありません
- 大きなファイルの処理には時間がかかる場合があります
- 破損したPEファイルや不正な形式のファイルはエラーになります
- このツールは解析のみを行い、ファイルの実行や変更は行いません
- タイムスタンプについて: 通常はビルド日時が格納されますが、ハッシュ値や固定値が設定される場合がありますので16進数と時刻の両方を表示しています
参考資料・実装リソース
このPEビューアーの実装において参考にした公式ドキュメントとリソース:
📖 Microsoft公式ドキュメント
- PE Format Specification:https://learn.microsoft.com/en-us/windows/win32/debug/pe-format
PE形式の公式仕様。データディレクトリ、セクションヘッダー、インポート/エクスポートテーブルの詳細 - Image File Header:https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-image_file_header
COFFファイルヘッダー(IMAGE_FILE_HEADER)の構造体定義 - Optional Header:https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-image_optional_header32
オプショナルヘッダー(IMAGE_OPTIONAL_HEADER)の構造体定義
🔷 .NET / CLR関連
- CLR Runtime Header (corhdr.h):https://github.com/dotnet/runtime/blob/main/src/coreclr/inc/corhdr.h
.NET CoreCLRのヘッダー定義。CLR Runtime Headerの構造体とフラグ定義 - ECMA-335 Standard:https://www.ecma-international.org/publications-and-standards/standards/ecma-335/
CLI (Common Language Infrastructure) の国際標準。.NETメタデータ形式の詳細
🛠️ デバッグ情報
- Debug Directory:https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-image_debug_directory
デバッグディレクトリ(IMAGE_DEBUG_DIRECTORY)の構造体定義 - PDB Format:https://github.com/Microsoft/microsoft-pdb
Microsoft PDBファイル形式の公式リポジトリ
📚 リソース関連
- Resource Directory:https://learn.microsoft.com/en-us/windows/win32/menurc/resource-file-formats
Windowsリソースファイルの形式とリソースディレクトリの構造 - Version Info:https://learn.microsoft.com/en-us/windows/win32/menurc/versioninfo-resource
バージョン情報リソース(VERSIONINFO)の形式
🌐 その他のリソース
- PE File Format Article:https://blog.kowalczyk.info/articles/pefileformat.html
PE形式の詳細解説記事(実装の参考として有用) - PE Format Overview:https://0xrick.github.io/win-internals/pe3/
PE形式の構造とセクションの詳細解説