ImHexで未知ファイル形式をリバースエンジニアリング
原題: Reverse Engineering Unknown File Formats with ImHex
なぜ重要か
バイナリ解析ツールImHexの実践的な活用事例を体系化した本記事は、ゲーム改造やデータ保全、セキュリティ研究など幅広い分野でのリバースエンジニアリング普及に寄与する。
ImHex開発者のWerWolvが2026年8月27日、ゲーム「FEZ」のセーブファイル形式をリバースエンジニアリングする手順を解説した技術記事を公開した。無料・オープンソースのバイナリ解析ツールImHexとそのPattern Languageを使い、未知のバイナリ形式を完全に定義するまでの全工程を約2,935語で詳述している。
ImHexの開発者であるWerWolvが、2012年リリースのゲーム「FEZ」のカスタムバイナリセーブファイルを題材に、未知ファイル形式のリバースエンジニアリング手法を解説する長編技術記事を公開した。記事の公開日は2026年8月27日で、読了時間は約15分、文字数は2,935語とされている。
ImHexは同開発者が複数年にわたって開発を続けているヘックスエディタで、無料かつオープンソース、Windows・macOS・Linuxおよびブラウザ版(ImHex Web)に対応している。記事執筆時点では一部機能がNightlyビルドのみに含まれており、v1.38.1以前のユーザーにはNightlyへのアップグレードが推奨されている。
解析対象のセーブファイル「SaveSlot2」はSteam版FEZのLinux環境において`/home/werwolv/.local/share/FEZ/`以下に保存されていた。ファイルをImHexで開いたところ、圧縮・暗号化がなく、平文の文字列(例:`DOT_LOCKED_DOOR_A`、`DOT_TREASURE`など)が確認できたことから、構造解析が比較的容易な形式であることが判明した。
記事はゲームの逆コンパイルから始まり、対象ファイルと関連関数の特定、ImHexのPattern Languageを用いたパターン記述、文字列・オブジェクト・リスト・列挙型・サブタイプなど各データ構造の段階的な定義まで、全14セクションにわたって実践的な手順を解説している。著者はこれまでDiscordで「プログラムのデコンパイルコードから逆算する」という回答しか提供できなかったとしており、本記事はその問いに対する体系的な回答として位置付けている。
なおFEZのゲーム内秘密やエンドゲームコンテンツに関するコードが記事内に登場するため、未プレイ者へのネタバレ警告も冒頭に掲載されている。