最終更新:
Reverse Engineer Anything (REA):完全ガイド
Reverse Engineer Anything (REA) は、Claude Code・Cursor・Codex などの AI コーディングエージェントが、ソースコードなしでネイティブバイナリや Electron アプリ、Web サイトを調べられるようにするオープンソースの MCP サーバー兼コマンドラインツールです。普通の言葉で質問すると、REA が手元のマシンにある解析ツールを動かし、エージェントは説明や実装の材料になるコード・参照・根拠を受け取ります。
Reverse Engineer Anything (REA) とは?
REA は Reverse Engineer Anything の略で、GitHub 上の morluto によるプロジェクトです。キャッチコピーは「One MCP for reverse engineering across binaries, applications, and runtime behavior」(バイナリ、アプリ、実行時の挙動までをまたぐリバースエンジニアリング用の MCP)。実際には、コーディングエージェントにリバースエンジニアリング用のツール一式を与えるもので、気になる機能があるアプリを指定して「この機能はどう動いているのか」と尋ねられます。現在の npm リリース rea-agents 6.4.0 は MIT ライセンスで、解析は手元のマシン上で行われます。
- ソースコードなしで中身を調べる. ネイティブバイナリは疑似コード、アセンブリ、文字列、シンボル、呼び出し参照として返ってきます。JavaScript や Electron アプリなら、モジュール、import、ソースマップ、ルート、IPC が得られます。
- すべての回答に根拠付き. 各結果には出どころと、まだ分かっていない点が添えられるので、エージェントも利用者も、主張を信用する前に確認できます。
- 1 つのツールで多様な対象. バイナリや Electron 以外にも、Web サイト、保存した HAR ネットワークキャプチャ、.NET アセンブリ、Android APK、Go バイナリ、WASM、ファームウェアなどを、同じ MCP と CLI で読み込めます。
出典: GitHub:morluto/rea(README)
出典: rea.tools:公式サイト
REA AI の仕組み:エージェント、MCP、Ghidra、Hopper
REA 自体は逆アセンブラではありません。エージェントと実際の解析エンジンの間に入る MCP(Model Context Protocol)サーバーです。Claude Code や Cursor にバイナリについて尋ねると、エージェントが REA のツールを呼び出し、REA が Hopper、Ghidra、IDA(あるいは独自の JavaScript アナライザーや、Web サイト用の Chrome 系ブラウザ)を起動して解析を実行し、構造化された結果を返します。ターミナルコマンドの rea も同じワークフローを使います。
- 手元のアプリやファイルについて、エージェント(Claude Code、Cursor、Codex)に質問する。
- エージェントが MCP 経由で REA のツールを呼び出す。
- REA が適切なエンジンをローカルで実行する:ネイティブコードには Hopper・Ghidra・IDA、Electron には JS アナライザー、Web サイトにはブラウザ。
- REA がコード、参照、根拠、未確認事項を返す。
- エージェントが挙動を説明する、またはプロジェクト向けに同等の実装を書いてテストする。
エージェントが受け取ったツールの結果は、そのモデル提供元のデータポリシーのもとで提供元にも渡ります。REA 自体が解析対象をアップロードすることはありません。
出典: GitHub:morluto/rea(README)
REA GitHub インストールガイド:動作要件とコマンド
- Node.js 22.x(22.19 以降)、24.x(24.11 以降)または 26 以上と npm。
- ネイティブバイナリ用:Hopper、Ghidra、IDA のいずれか。Hopper は承認すればセットアップ時にインストールできますが、Ghidra と IDA は事前にインストールしておく必要があります。
- Web サイト用:Chrome 系ブラウザ。JavaScript、Electron、.NET には追加のものは不要です。
- ネイティブ解析のホスト要件:macOS 12 以上、または最近の Linux(Ubuntu 24.04 以上、Fedora 41 以上、Arch など)。Windows での Ghidra 対応は実験的です。
- npx rea-agents setup を実行する。
- 一覧から使うエージェントを選び、変更される設定ファイルのパスを確認して承認する。既存の設定は先にバックアップされます。
- エージェントを再起動して、新しい MCP サーバーを読み込ませる。
- 必要ならターミナルで使えるよう rea コマンドをグローバルにインストールし、ときどき rea update を実行する。修正が頻繁にリリースされるプロジェクトです。
# 1) Register REA with your agents (Claude Code, Codex, Cursor, Gemini CLI ...)
npx rea-agents setup
# 2) Optional: install the rea command for regular terminal use
npm install --global rea-agents
rea --help
# 3) Keep it current (global install / npx setup)
rea update
npx rea-agents@latest setupコマンドは github.com/morluto/rea の README から引用しています。Bun を使う場合は npx rea-agents@latest の代わりに bunx rea-agents@latest を使ってください。
出典: GitHub:morluto/rea(README)
出典: npm:rea-agents
Claude Code・Cursor・Codex で REA を使う
セットアップでは、各エージェントに同じ MCP サーバーが登録され、あわせて REA のワークフロー手順(「reverse-engineer-anything」スキル)もインストールされます。再起動後は普通の言葉で頼むだけです。最初のプロンプトは README に載っている例で、残りはエージェントごとに用意した私たちのオリジナルです。
- Claude Code. セットアップで Claude Code(クライアント ID:claude_code)を選び、再起動してからターミナルのセッションで質問します。Claude Code は長い多段階の追跡が得意なので、各ステップで根拠を示すよう頼むとよいでしょう。
- Cursor. Cursor(cursor)を選びます。REA は Cursor の MCP ツールの一覧に表示されます。ツールを呼び出してそのままプロジェクトを編集できるよう、Agent モードを使ってください。
- Codex. Codex(codex)を選びます。Codex は「見つけてから再実装する」タイプの作業、つまり成果物が自分のリポジトリへのパッチになる作業に向いています。
Understand how search works in the Notes app, show me the evidence, and build a
similar feature for my project.REA で /Applications/Example.app を調べてください。「copy as Markdown」コマンドの仕組みを知りたいです。レンダラーから始めて、preload と IPC を経由してメインプロセスまで追い、各ステップのファイルと関数を示してください。確認できなかった点も挙げてください。REA で ./vendor/libexample.dylib を調べてください。設定ファイルをパースする関数を見つけ、その疑似コードと参照している文字列を示したうえで、同等の TypeScript パーサーを src/config/ にユニットテスト付きで書いてください。./legacy/report.exe(2014 年に自分で作ったアプリ)のソースをなくしてしまいました。REA と Ghidra を使って、CSV エクスポートで日付を整形している箇所を見つけ、年が 2 桁で出力される理由を説明してください。出典: GitHub:morluto/rea(README)
まずはターミナルで REA を試す
エージェントなしでも REA は試せます。次のコマンドは、展開済みの JavaScript/Electron アプリのディレクトリまたは ASAR を調べ、見つかったモジュール、import、Electron の境界を根拠とともに表示します。ネイティブエンジンは不要です。
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --jsonパスは解析したい対象に置き換えてください(Windows なら例えば "D:/apps/example")。
出典: GitHub:morluto/rea(README)
REA の活用例:Electron アプリからマルウェアまで何でもリバースエンジニアリング
- Electron アプリのリバースエンジニアリング. Electron アプリは JavaScript を ASAR アーカイブに入れて配布しています。REA はモジュール、ルート、IPC チャネルを復元します。Notion のケーススタディでは、この方法でクリップボードのブリッジをレンダラーからメインプロセスまで追跡しています。
- クローズドな API の解析(「API anything」). 保存した HAR キャプチャを読み込むか、REA にブラウザで Web サイトを監視させると、リクエスト、レスポンス、ペイロードが、それを送信するスクリプトとともに一覧になります。利用が許可されている非公開 API をドキュメント化し、クライアントを書くための最短ルートです。
- マルウェア・インシデント解析. REA の責任ある利用ポリシーでは、マルウェアやインシデントの解析、セキュリティ研究が想定された用途に挙げられています。作業は隔離された VM で行ってください。静的解析はファイルを実行せずに読み取りますが、実行時キャプチャでは対象を実際に動かします。
- 自作の古いプログラムをデバッグ. 自分で書いたもののソースをなくした、あるいは古いビルドの挙動が違う理由を知りたい。そんなときにも使えます。DX-Ball のケーススタディでは、元のコンパイル済み 63 バイトをすべて再現する関数を C で書き直しています。
出典: REA のケーススタディ(DX-Ball、Notion、TH04)
REA の動画チュートリアル
YouTube クリエイターによる Reverse Engineer Anything の解説動画を 2 本紹介します(REA プロジェクトや当サイトが制作したものではありません)。動画は再生ボタンを押したときにだけ YouTube から読み込まれます。


REA vs Ghidra vs Hopper
この 3 つは実のところ競合ではありません。Ghidra と Hopper は逆アセンブルや逆コンパイルを行うエンジンです。Reverse Engineer Anything はその上に乗るエージェント用のレイヤーで、エンジンを動かし、出力をエージェントが使える根拠に変換します。
| REA | Ghidra | Hopper | |
|---|---|---|---|
| 概要 | AI エージェントと解析ツールをつなぐ MCP サーバー + CLI | NSA が開発したリバースエンジニアリングスイート | 逆アセンブラ兼逆コンパイラ |
| 操作する人 | AI エージェント、またはターミナルで自分 | 自分(GUI またはスクリプト) | 自分(GUI またはスクリプト) |
| 価格 | 無料、MIT ライセンス | 無料、Apache 2.0 | 有料(機能制限付きの無料デモあり) |
| 対応プラットフォーム | macOS、Linux。Windows はエージェント設定、JS/.NET、実験的な Ghidra 対応 | Windows、macOS、Linux(JDK が必要) | macOS、Linux |
| 解析対象 | ネイティブ、Electron/JS、Web サイト、HAR、.NET、Android、ファームウェアなど | 多数の CPU 向けネイティブバイナリ | ネイティブバイナリ(Mach-O、ELF、PE) |
| 向いている用途 | 質問して根拠付きの答えを得る | 本格的な手動解析、スクリプト処理 | Mac での素早い手動解析 |
3 つ目の対応エンジンとして IDA もあります。商用エンジンには自分で有効なライセンスを用意する必要があり、REA がライセンスを提供することはありません。
出典: GitHub:morluto/rea(README)
出典: GitHub:NationalSecurityAgency/ghidra
リバースエンジニアリングは合法?
多くの場合は合法ですが、どこにいるか、何を解析するか、どんなライセンスに同意したかによって変わります。相互運用性、セキュリティ研究、教育、自分が所有するソフトウェアの修正を目的とする場合は認めている地域が多く、米国の DMCA には相互運用性のための例外があり、EU のソフトウェア指令も一定の条件のもとで相互運用性のための逆コンパイルを認めています。ただし、ソフトウェアのライセンスや利用規約で禁止されていることもあります。
REA 自身の免責事項では、合法的な研究、教育、相互運用性、ソフトウェアの保存、そして自分が所有する、または調査を許可されたソフトウェアの解析のためのツールだとしています。DRM・ライセンスチェック・アンチチートの回避、ゲームのチート作成、テストする権限のないシステムでの認証回避、プロプライエタリなコードやアセットの複製には協力しない方針です。
これは一般的な情報であり、法的助言ではありません。他者のソフトウェアをもとに調査結果を公開したりコードを出荷したりする予定がある場合は、事前に弁護士に相談してください。
よくある質問
REA は無料ですか?
はい。REA は MIT ライセンスのオープンソースで、npm パッケージ rea-agents も無料です。費用がかかるのは周辺部分だけで、AI エージェントのプランや API 利用料、そして Hopper や IDA を使う場合はそのライセンス料です。Ghidra は無料です。
REA skill とは?
reverse-engineer-anything スキルは、REA をいつ、どのように使うかをエージェントに伝える手順書です。npx rea-agents setup を実行すると MCP サーバーと一緒にインストールされます。npx skills add morluto/rea --skill reverse-engineer-anything でスキルだけをインストールすることもできますが、その場合 MCP ツールは登録されません。
REA は Mac や Windows で動きますか?
主なサポート対象は macOS 12 以上と最近の Linux ディストリビューションで、ネイティブ解析には Hopper、Ghidra、IDA を使います。Windows ではセットアップによるエージェントの設定と、JavaScript・Electron・.NET の静的解析が使えます。Ghidra 対応は実験的で、Hopper は使えません。
REA AI とは?
「REA AI」は、AI コーディングエージェントにリバースエンジニアリングの能力を与えるツール REA(Reverse Engineer Anything)を指して使われる呼び方です。REA 自体はモデルを持っていません。AI にあたるのは使っているエージェント(Claude、GPT、Gemini など)で、REA はツールと根拠を提供します。
REA と他の MCP サーバーの違いは?
REA 自体が MCP サーバーです。Ghidra 専用ブリッジのような単一ツールの MCP サーバーと比べると、複数のエンジン(Hopper、Ghidra、IDA、ブラウザ、JS・.NET・Android アナライザー)を 1 回のセットアップでまとめて扱え、各結果に根拠を付けて返し、対応するエージェント向けの手順も同梱しています。
Reverse Engineer Anything の GitHub リポジトリはどこですか?
github.com/morluto/rea です。README でインストールする npm パッケージは rea-agents で、ガイドやケーススタディは rea.tools にあります。
本ページは独立したガイドであり、REA プロジェクト、morluto、Anthropic、Cursor、OpenAI、NSA、Hopper とは一切関係ありません。内容は morluto/rea の README、インストールドキュメント、免責事項(バージョン 6.4.0)に基づき、2026 年 10 月 12 日に確認したものです。REA は変化が速いため、インストール前に README を確認してください。