最後更新:
Reverse Engineer Anything (REA):完整指南
Reverse Engineer Anything (REA) 是一套開源的 MCP 伺服器與命令列工具,讓 Claude Code、Cursor、Codex 等 AI 程式開發代理在沒有原始碼的情況下,也能檢視原生二進位檔、Electron 應用程式和網站。你只要用平常的話提問,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、source map、路由與 IPC。
- 每個答案都附上證據. 每項發現都會註明出處以及仍未確認的部分,讓代理(和你)在相信某個結論之前先行查證。
- 一套工具,多種目標. 除了二進位檔和 Electron,REA 還能透過同一個 MCP 與 CLI 讀取網站、儲存下來的 HAR 網路擷取檔、.NET 組件、Android APK、Go 二進位檔、WASM、韌體等。
來源: 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 分析器,網站則使用 Chrome 系列瀏覽器),執行分析並回傳結構化的結果。終端機指令 rea 使用的也是同一套流程。
- 你向代理(Claude Code、Cursor、Codex)詢問電腦上某個應用程式或檔案的問題。
- 代理透過 MCP 呼叫 REA 的工具。
- REA 在本機執行合適的引擎:原生程式碼用 Hopper、Ghidra 或 IDA,Electron 用 JS 分析器,網站用瀏覽器。
- REA 回傳程式碼、參照、證據與未確認事項。
- 代理說明其行為,或為你的專案寫出並測試一個對應的版本。
代理收到的工具結果,仍會依照其模型供應商的資料政策被供應商看到。REA 本身不會上傳你的分析目標。
來源: GitHub:morluto/rea(README)
來源: REA 文件:安裝與設定
REA GitHub 安裝教學:系統需求與指令
- Node.js 22.x(22.19 以上)、24.x(24.11 以上)或 26 以上,以及 npm。
- 原生二進位檔:需要 Hopper、Ghidra 或 IDA。經你同意後,安裝程式可以幫你安裝 Hopper;Ghidra 和 IDA 則必須事先裝好。
- 網站:需要 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,請以 bunx rea-agents@latest 取代 npx rea-agents@latest。
來源: GitHub:morluto/rea(README)
來源: REA 文件:安裝與設定
來源: npm:rea-agents
在 Claude Code、Cursor 與 Codex 中使用 REA
安裝程式會在每個代理中註冊同一個 MCP 伺服器,並一併安裝 REA 的工作流程指示(「reverse-engineer-anything」skill)。重新啟動後,直接用平常的話提出需求即可。下方第一個提示詞是 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」指令是怎麼運作的:從 renderer 開始,經過 preload 和 IPC 一路追到 main process,並列出每一步的檔案與函式。也請列出所有無法確認的部分。用 REA 檢視 ./vendor/libexample.dylib。找出負責解析設定檔的函式,給我它的虛擬碼和它參照的字串,然後在 src/config/ 寫一個功能相同的 TypeScript 解析器,並附上單元測試。我弄丟了 ./legacy/report.exe(我自己在 2014 年寫的程式)的原始碼。請用 REA 搭配 Ghidra,找出 CSV 匯出時格式化日期的地方,並說明為什麼年份只寫成兩位數。來源: GitHub:morluto/rea(README)
來源: REA 文件:安裝與設定
先在終端機試用 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 案例研究正是用這個方式,從 renderer 追蹤剪貼簿橋接一路到 main process。
- 分析閉源 API(「API anything」). 載入儲存好的 HAR 擷取檔,或讓 REA 在瀏覽器中觀察網站,它就會列出請求、回應與承載資料,以及送出它們的腳本。要為你有權使用的未公開 API 撰寫文件並寫出用戶端,這是最快的方法。
- 惡意軟體與資安事件分析. REA 的負責任使用政策將惡意軟體與資安事件分析、資安研究列為預期用途。請在隔離的虛擬機中作業:靜態檢視只讀取檔案而不執行,但執行期擷取會真的執行目標。
- 除錯自己的舊程式. 弄丟了自己寫的程式原始碼,或需要知道舊版建置為什麼行為不同?DX-Ball 案例研究用 C 重建了一個函式,完整重現原始程式編譯後的全部 63 個位元組。
來源: REA 案例研究(DX-Ball、Notion、TH04)
來源: REA:負責任使用免責聲明
REA 影片教學
兩支由 YouTube 創作者製作的 Reverse Engineer Anything 實作影片(並非由 REA 專案或我們製作)。影片只有在你按下播放時才會從 YouTube 載入。


REA vs Ghidra vs Hopper
這三者其實不算競爭對手。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、網站、HAR、.NET、Android、韌體等 | 多種 CPU 架構的原生二進位檔 | 原生二進位檔(Mach-O、ELF、PE) |
| 最適合 | 提出問題並取得附帶證據的答案 | 深入的手動分析、腳本自動化 | 在 Mac 上快速手動分析 |
IDA 是第三個支援的引擎。商業引擎需要你自備有效授權;REA 不提供授權。
來源: GitHub:morluto/rea(README)
來源: GitHub:NationalSecurityAgency/ghidra
逆向工程合法嗎?
多半是合法的,但取決於你所在的地區、分析的對象,以及你同意過的授權條款。許多地方允許為了互通性、資安研究、教育以及修正自己擁有的軟體而進行逆向工程;美國 DMCA 設有互通性豁免條款,歐盟軟體指令也允許在特定條件下為了互通性而進行反編譯。不過,軟體授權或服務條款仍可能明文禁止。
REA 自己的免責聲明指出,它是用於合法研究、教育、互通性、軟體保存,以及分析你擁有或經授權檢視的軟體。這個專案不會協助繞過 DRM、授權檢查或反作弊機制、製作遊戲外掛、在未經授權測試的系統上繞過身分驗證,或複製專有程式碼與素材。
以上僅為一般資訊,並非法律建議。如果你打算公開研究結果,或根據他人的軟體發佈程式碼,請先諮詢律師。
來源: REA:負責任使用免責聲明
常見問題
REA 是免費的嗎?
是的。REA 是採用 MIT 授權的開源軟體,npm 套件 rea-agents 也是免費的。你只需要為周邊的東西付費:AI 代理的方案或 API 用量,以及若使用 Hopper 或 IDA 引擎時的授權費用。Ghidra 是免費的。
REA skill 是什麼?
reverse-engineer-anything skill 是一組指示,告訴你的代理何時以及如何使用 REA。執行 npx rea-agents setup 時會與 MCP 伺服器一起安裝。你也可以用 npx skills add morluto/rea --skill reverse-engineer-anything 只安裝這個 skill,但這樣不會註冊 MCP 工具。
REA 能在 Mac/Windows 上執行嗎?
主要支援的主機是 macOS 12 以上與較新的 Linux 發行版,原生分析使用 Hopper、Ghidra 或 IDA。在 Windows 上,安裝程式可以設定你的代理,JavaScript、Electron 和 .NET 的靜態分析也能運作;Ghidra 支援屬於實驗性質,且無法使用 Hopper。
REA AI 是什麼?
大家說的「REA AI」指的是 REA(Reverse Engineer Anything),一個讓 AI 程式開發代理具備逆向工程能力的工具。REA 本身沒有模型:AI 是你的代理(Claude、GPT、Gemini 等),REA 負責提供工具與證據。
REA 與其他 MCP 伺服器有何不同?
REA 本身就是 MCP 伺服器。相較於只包裝單一工具的 MCP 伺服器(例如只支援 Ghidra 的橋接器),它透過一次安裝整合多個引擎(Hopper、Ghidra、IDA、瀏覽器,以及 JS、.NET、Android 分析器),每個結果都附上證據,並內建相對應的代理指示。
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。