什麼是 REA?安裝與安全使用
REA 是什麼?
REA(Reverse Engineer Anything)是一套開源的逆向工程 MCP 伺服器,採用 MIT 授權,專案位於 github.com/morluto/rea。它把你的 AI agent 接上各種檢視工具,能看原生二進位檔、JavaScript 與 Electron 應用程式、.NET 組件、網站等目標,讓 agent 說明某個功能如何運作,並拿出每個結論背後的證據。專案自己的一句話是:「看到喜歡的功能,就弄懂它怎麼運作,一路深入到二進位層級。」
同一套工具也能在終端機直接使用。依專案說明,分析在本機進行,結果會附上每個結論的證據與限制。
運作方式
你的 agent 透過 MCP 呼叫 REA,檢視目標並追蹤相關程式碼;REA 回傳附有證據的發現;agent 再據此追問、解釋行為,或替你自己的專案寫出並測試實作。命令列工具跑的是同一套流程。
能分析什麼
README 列出了二十多種目標,以下是常見的幾種:
| 目標 | REA 會回傳 | 需要準備 |
|---|---|---|
| 原生二進位檔 | 偽代碼、組合語言、字串、符號、呼叫與參照 | Hopper、Ghidra 或 IDA |
| JavaScript/Electron | 模組、匯入、source map、路由、IPC 與原生附加元件的關係 | Node.js 與 npm |
| 網站 | 頁面結構、腳本、網路觀察結果與指定的截圖 | Chrome 系列瀏覽器 |
| .NET 組件 | 中繼資料、CIL 指令、宣告的原生相依與建置比較 | 不需額外工具(僅靜態) |
| Android APK | Manifest 宣告、類別、反編譯的方法與參照 | 無頭模式的 JADX 與完整 JDK |
| Go 執行檔 | 內嵌的編譯器版本、模組、replace 與建置設定 | 不需額外工具(內建) |
其他還有 WebAssembly、EVM bytecode、SQLite 資料庫、韌體、錄下的網路與封包擷取、程序行為等,各有各的需求。REA 本身需要 Node.js 22.x(22.19 以上)、24.x(24.11 以上)或 26 以上,加上 npm。分析目標指南 有整理。
一行指令完成設定
裝好 Node.js 與 npm 後執行:
npx rea-agents setup
選擇要設定的 agent,檢查它提出的變更並同意。設定程序會加入 REA 的 MCP 伺服器與對應的工作流程說明,並備份原有設定。完成後重新啟動 agent。支援 Claude Code、Codex、Cursor、Gemini CLI、Grok Build 等 agent;安裝指南 說明每個步驟、手動註冊與更新方式。
問你的 agent
README 的範例提示詞說明了典型用法:
Understand how search works in the Notes app, show me the evidence, and build a
similar feature for my project.
把應用程式和功能換成你自己的目標,而且必須是你有權檢視的目標。
REA 適合做什麼、不適合做什麼
專案說明 REA 用於合法研究、教學、互通性、軟體保存,以及分析你擁有或獲授權檢視的軟體。它的免責聲明把資安研究、惡意程式與事件分析、遵循協調揭露的漏洞研究、CTF,以及除錯自己的軟體列為預期用途。
專案不支援、也不會協助:
- 規避 DRM、授權檢查、反作弊系統或其他技術保護措施;
- 開發遊戲外掛或竄改線上服務;
- 在你未獲授權測試的系統上繞過身分驗證或存取控制;
- 複製專有軟體,或重製其受保護的程式碼與素材。
你需要自行取得必要的授權,並遵守法律與相關授權條款。IDA、Hopper、JEB 等商業工具必須合法取得,REA 不提供這些工具的授權。本站也遵循同樣的原則,請見內容規範。
關於本站
REA MCP 是由社群經營的獨立目錄,整理大家用 REA 做過的事,與 REA 專案及其維護者沒有隸屬、背書或贊助關係。官方來源是 GitHub 儲存庫 與專案網站 rea.tools。
熱門 REA 使用案例
已上架的案例,依社群票數再依 GitHub 星數排序,自動更新。
- REA on Fedora-based Linux: setup notes and gotchas★ 156,486
- My local model setup for REA on Linux (one 12 GB GPU)★ 156,486
- Reducing token waste in REA workflows★ 156,486
- Outside-in leak check of a production Next.js and Stripe app★ 156,484
- REA (Reverse Engineer Anything)★ 156,483
- A stripped bzip2 build: what REA returned, checked against the source★ 156,483
- Benchmarks: REA on Linux across Node versions and five local models★ 156,482
- OpenBattlefield2: a clean-room engine reimplementation★ 41
- Reconstructing DX-Ball 1.07★ 40
- TH04 source reconstruction★ 29
FAQ
REA 是什麼?
REA(Reverse Engineer Anything)是採用 MIT 授權的開源 MCP 伺服器,專案位於 github.com/morluto/rea。它把你的 AI agent 接上檢視原生二進位檔、JavaScript 與 Electron 應用程式、.NET 組件、網站等目標的工具,讓 agent 能說明某個功能如何運作,並附上每個結論背後的證據。
REA 要怎麼安裝?
先裝好 Node.js 與 npm,執行 npx rea-agents setup,選擇要設定的 agent,檢查它提出的變更並同意,最後重新啟動 agent。設定程序會加入 REA 的 MCP 伺服器與對應的工作流程說明,並備份原有設定。
哪些 agent 可以使用 REA?
任何支援本機 MCP 伺服器的 agent 都可以。設定程序支援 Claude Code、Codex、Cursor、Gemini CLI、Grok Build 等 agent;其他用戶端可依專案安裝文件的說明手動註冊伺服器。
一定要有 Hopper、Ghidra 或 IDA 嗎?
只有深入的原生分析才需要。JavaScript 與 .NET 的靜態檢視不需要原生分析引擎。設定程序可在你同意後安裝 Hopper;Ghidra 與 IDA 則使用你已安裝的版本,商業工具必須合法取得並擁有授權。
REA MCP 是 REA 的官方網站嗎?
不是。REA MCP 是獨立的社群目錄,整理 REA 的使用案例,與 REA 專案及其維護者沒有隸屬、背書或贊助關係;官方來源是 github.com/morluto/rea 與 rea.tools。
REA 會上傳我的應用程式嗎?
依專案說明,REA 在本機分析目標。你的 agent 會收到工具的結果,而 agent 使用的模型供應商有自己的資料政策,分析敏感內容前請先確認。
REA 適合用來做什麼?不適合做什麼?
專案說明 REA 用於合法研究、教學、互通性、軟體保存,以及分析你擁有或獲授權檢視的軟體。它不支援破解、規避 DRM 或授權、遊戲外掛,也不支援攻擊你無權測試的系統;REA MCP 也只收錄合法用途。
REA 要怎麼保持最新版本?
如果你是用 npx 設定 REA,執行 npx rea-agents@latest setup,檢查變更後重新啟動 agent。如果你用 npm 或 Bun 全域安裝了 CLI,執行 rea update,再執行它印出的設定指令來更新 agent 的註冊。