
decomp.wtf フォーク: Windows PE マッチング、MinGW/clang-cl ツールチェーン、およびオプションの REA MCP ブリッジ
自分が所有する対象に AI エージェントを向けて、分解してみましょう。 decomp.anything は、ゲーム、Windows および Linux のプログラム、アプリ、Web ページ、ファームウェア、および通常のファイルを対象とした、マッチング逆コンパイルおよびリバースエンジニアリングのワークベンチです。 エージェントは実際のバイナリに対して C または C++ を書き、元のコンパイラがそれをビルドし、結果はバイト単位で照合されます — あるいは、照合すべき元のビルドが存在しない場合は、同じプロジェクトが REA でバイナリを開き、エージェントが代わりにその関数を解析します。
インストール · マッチングの仕組み · あらゆるものを検査 · 公開逆コンパイル · エージェント · 一緒に逆コンパイル · 基盤
decomp.anything は、Sam Wolfs による decomp.wtf の独立したフォークです。 上流プロジェクトは終了していますが、そのコードは MIT ライセンスであるため、このフォークはそれを継続し、拡張しています。この リポジトリが活発な継続版です。
decomp.wtf がレトロゲームのマッチングに焦点を当てていたのに対し、decomp.anything は同じエンジンを任意のソフトウェアへと拡張します: Windows および Linux のバイナリはバイト単位でマッチングでき、それ以外のものは REA プロジェクトとして開かれます — 同じ プロジェクトダッシュボード、エージェント、ノートを使い、そのプロシージャを作業項目として扱います。覚えるべき別個の REA モードはありません。
decomp.wtf から引き継がれるもの:
このフォークが追加するもの:
inspect_binary は REA に擬似コード、シグネチャ、呼び出し元を問い合わせることができます; REA 自体は
Compilers & tools からインストールできます。decomp connect のための opencode 2 サポート。マッチングは依然としてバイト単位で完全一致するパスです。すべてのバイナリは通常のプロジェクトとして開かれます。マッチング可能なターゲットにはコンパイル・比較ループが適用され、それ以外のすべてには REA の作業項目、同じエージェント、同じダッシュボードと検出事項が適用されます。
| 目的 | decomp.anything で得られるもの |
|---|---|
| ゲームを逆コンパイルする | ROM、ディスクイメージ、またはプログラムファイルを投入します。エージェントが関数を引き受け、C または C++ を書き、元のコンパイラが各マッチをバイト単位で証明します。 |
| PC プログラムをマッチングする | Windows の .exe/.dll、または Linux の ELF プログラムや .so をインポートし、C または C++ を書いて、コンパイラのバイト列を元のものと比較します。 |
| 公開されている逆コンパイルプロジェクトを続ける | アプリが認識しているコミュニティプロジェクトのいずれかをフォークし、エージェントにプロジェクトの実際のソースツリー内で作業を続けさせます。 |
| その他を検査する | ゲームと同じように投入します。このアプリが分割やマッチングを行えない場合、REA はそれを通常のプロジェクトとして開きます。そのプロシージャが作業項目になり、エージェントが並列で読み取り、その検出事項が同じダッシュボードに表示されます。独自のプロシージャを持たない領域にはタスクを追加します。 |
| アーカイブの中身を見る | ZIP、TAR、または同様のアーカイブを投入します。すべての通常ファイルが作業項目になります。Contents でプレビューでき、バイナリやネストされたアーカイブはリンクされた子プロジェクトとして開くことができます。 |
| 共同作業する | ルームをホストし、人を招待し、元のファイルを共有せずにマッチ、名前、構造体、メモを共有します。 |
| 自分のエージェントを使う | Claude Code、Codex、Antigravity CLI、opencode、OpenAI 互換エンドポイント、または任意の MCP クライアント。 |
すべてはあなたのコンピュータ上で実行されます。アカウントも、テレメトリも、アップロードもありません。
decomp.anything は Linux x86-64 で動作し、WSL 2 を通じて Windows でも動作します。macOS はサポートされていません。Python 3.12 以降と uv が必要です。npm ベースのエージェントと REA には Node.js が必要です。Ghidra には Java 21 以降が必要です。
このリポジトリから:
git clone https://github.com/giveen/decomp.anything.git
cd decomp.anything
uv sync
uv run decomp
これによりアプリが起動し、ブラウザで開きます。プロジェクトはデフォルトで ~/Decomp に保存されます。別の場所に保存するには DECOMP_HOME を設定してください。
チェックアウトからのデスクトップインストール。 リポジトリ自身のインストーラーは、上流のリリースではなく、このチェックアウトをインストールします:
bash install/install.sh
Windows では、PowerShell で:
powershell -ExecutionPolicy Bypass -File install\install.ps1
Windows インストーラーは必要に応じて WSL 2 を有効化し、decomp-wtf ディストリビューションを作成して、このチェックアウトをその中にインストールし、decomp コマンドに加えてアプリメニューとデスクトップのショートカットを追加します。チェックアウトインストールではこのリポジトリが更新元として記録されるため、更新はアップストリームではなく decomp.anything に従います。
ウェブサイトを使わずに GitHub から:
curl -fsSL https://raw.githubusercontent.com/giveen/decomp.anything/main/install/install.sh | bash
Windows では、PowerShell で:
irm https://raw.githubusercontent.com/giveen/decomp.anything/main/install/install.ps1 | iex
これらはデフォルトで main を追跡します。ブランチをインストールするには DECOMP_SOURCE または DECOMP_BRANCH を追加するか、チェックアウトインストーラーを実行してローカルツリーをインストールします。
Compilers & tools を開いて、ターゲットに必要なものをインストールします。当時のコンパイラは固定され、チェックサムで検証されています。プロプライエタリなもの(IDO、CodeWarrior)は、ライセンスに同意した後にのみインストールされます。REA と Ghidra はオプションです。
[!TIP] 手元に ROM がありませんか?このアプリには Demo Quest 64 が同梱されています。これはパブリックドメインのコードと zlib からビルドされた本物の N64 ROM です。ホーム画面から開いて、エージェントが動作する様子を確認してください。
すでに Claude Code、Codex、Antigravity CLI、または opencode を使用していますか?decomp.anything のツールを一度だけ渡してください:
decomp connect
次に、自分のターミナルで次のように尋ねます:
decompile my game at ~/roms/game.z64
または、ゲームではないものの場合は:
work on the binary at ~/bin/app.apk: map its classes and exported components
エージェントはターゲットをインポートまたは開き、ライブビューを表示し、あなたが使うのと同じツールを使用します。その背後には
decomp mcp があり、必要に応じてアプリを起動する MCP サーバーです。自分で登録することもできます:
claude mcp add decomp -- decomp mcp
| エージェント | 代わりにパッケージとしてインストールする |
|---|---|
| Claude Code | /plugin marketplace add giveen/decomp.anything、続いて /plugin install decomp-anything@decomp-anything(「decompile」スキルを追加します) |
| Codex、Antigravity CLI、opencode | decomp connect codex、decomp connect antigravity、decomp connect opencode |
.pdata、シンボル、エクスポート、呼び出しから同じことを行います。ELFリーダーはシンボルテーブルまたは.eh_frameを使用します。その他のツールはGameCube/Wii、DS、GBA、PlayStationのターゲットをカバーします。スコア0はバイトが一致することを意味します。近似の成功はありません。