PE-bear - PEファイルリバースエンジニアリングツールチートシート
PE-bear (hasherezadeによる) は、フレンドリーなGUIを備えた無料のマルチプラットフォームPE (Portable Executable) 分析ツールです。Windows実行可能ファイルのすべての部分 — DOS/NTヘッダー、セクションテーブル、データディレクトリ、インポート/エクスポート、リソース、リッチヘッダー — を解析して表示します。不正なPEファイルに対して故意にロバストで、他のパーサーを破壊するマルウェアが配布するファイルに対応できます。バイナリを並べて比較でき、クイックマルウェア分類とアンパック検証のための定番ツールです。
インストール
| プラットフォーム | 方法 |
|---|
| Windows / Linux | GitHubリリースページからビルドをダウンロード |
| ソースから | Qt + bearparserサブモジュールでビルド |
| ポータブル | インストール不要、抽出されたバイナリを実行 |
| 確認 | PE-bearを起動、PEをドラッグイン |
ファイルの読み込み
| アクション | 方法 |
|---|
| PEを開く | ファイル → 開く、または .exe/.dll/.sys をドラッグイン |
| 複数ファイル | いくつかを読み込む、各タブが取得される |
| リロード | 外部変更後に再解析 |
| 保存 | 修正をディスクに保存 |
検査可能な内容
| パネル | 表示内容 |
|---|
| DOS Header | MZヘッダー、e_lfanewオフセット |
| Rich Header | コンパイラ/ツールチェーンのフィンガープリント (属性割り当てに優れている) |
| NT Headers | ファイルヘッダー + オプショナルヘッダー (エントリーポイント、サブシステム) |
| Section Headers | 名前、仮想/生のサイズ、特性、エントロピー |
| Imports | バイナリが呼び出すDLLおよび機能 |
| Exports | バイナリが公開する機能 |
| Resources | アイコン、マニフェスト、埋め込みデータ |
| Data Directories | インポート/エクスポート/リロケーション/TLS/等テーブル |
セクション読み込み (分類信号)
| 信号 | 示唆すること |
|---|
| 高エントロピーセクション | パック/暗号化 (例: .text ~7.9+) |
| 異常なセクション名 | UPX0, .vmp0, ランダム名 → パッカー |
| 書き込み可能 + 実行可能セクション | 自己変更 / アンパッキングスタブ |
| 小さなインポーテーブル | ランタイムで解決されるインポート (パック済み) |
| 奇数なエントリーポイントセクション | .text 内にないエントリー → 疑わしい |
バイナリ比較
PE-bearは2つのファイルを並べて表示できます — アンパック前後または マルウェアバリアント比較に貴重です。
| 用途 | 方法 |
|---|
| パック済みとアンパック済み | ヘッダー/セクション/インポートを比較 |
| バリアント分析 | 2つのサンプルファミリーの差分 |
| ダンプを検証 | メモリダンプを元のファイルと比較 |
編集
| 機能 | 注記 |
|---|
| ヘッダーフィールドを編集 | ヘッダー値の修正またはタンパー |
| セクションを編集 | セクション特性を調整 |
| 追加/変換 | 修復用の構造的編集 |
| 名前を付けて保存 | 修正されたPEを書き込み |
一般的なワークフロー
# 未知のWindowsサンプルを分類
1. PE-bearにサンプルをドラッグ
2. セクションエントロピーをチェック → 高 = 可能性が高いパック
3. インポートを見る → 小さい/奇数 = ランタイム解決 (パック済み)
4. リッチヘッダーを読んでツールチェーン/属性割り当てのヒント
5. リソースを検査して埋め込みペイロード
# アンパック済みダンプを検証
- ダンプされたPEを並べて表示で元のファイルと比較
- IATとエントリーポイントが正常に見えることを確認
PE-bearと他のPEツール
| 側面 | PE-bear | CFF Explorer | Detect It Easy | PEStudio |
|---|
| フォーカス | PE構造 + 差分 | PE編集 | パッカー/形式ID | 脅威インジケーター |
| 不正なPE | 非常にロバスト | 中程度 | ロバスト | 中程度 |
| ファイル比較 | はい | いいえ | 限定的 | いいえ |
| 最適用途 | 分類 + 構造分析 | 編集 | パッカー識別 | IOCスタイル分類 |
Detect It Easy でパッカー識別、PE-sieve でメモリ内インプラント検出と組み合わせるのに最適。
リソース