Skip to content

工具推薦|REA — 讓 Agent 不碰原始碼也能看懂任何軟體怎麼做

2026年10月13日1 分鐘
TL;DRREA 是一個開源 MCP server,把 native binary、JS/Electron、.NET、APK 等多種逆向工程引擎包成統一介面。安裝:npx rea-agents setup。解決了想做別人已實作的功能,卻只有看得到的行為、沒有原始碼可參考的問題。

🌏 English version

工具資訊

項目值
名稱REA(Reverse Engineer Anything)
類型MCP server + CLI
GitHubmorluto/rea
Stars147,000+(2026-10-13 查,10-07 上線後十天內從 0 衝到連續兩天 GitHub trending 第一)
語言TypeScript(Node.js)
授權MIT
安裝npx rea-agents setup

解決什麼問題

你看到別的 app 或網站有一個你想要的功能,但對方沒開源,你只看得到「它會這樣動」,看不到「它怎麼寫的」。以前的做法是自己開 Ghidra 或 IDA,手動找到相關函式,一行一行看組合語言或反編譯出來的 pseudocode,靠經驗猜出邏輯——門檻高、耗時,而且一般開發者的 agent 工作流裡完全沒有這塊能力,只能憑印象猜一個「看起來差不多」的實作。

REA 把 Hopper/Ghidra/IDA 這些 native binary 分析引擎,加上 JavaScript/Electron 靜態解析、.NET CIL 讀取、APK 反編譯、SQLite/WASM/EVM bytecode 檢視、瀏覽器網路側錄等十幾種逆向工程能力,統一包成一組 MCP 工具。Agent 透過自然語言問「這個 app 的某個功能是怎麼做的」,REA 負責在背後定位相關程式碼、回傳證據(pseudocode、組合語言、呼叫關係),agent 再基於這些真實證據解釋原理,甚至直接寫出一份可執行、可測試的實作——不是憑印象腦補,而是有出處可查。

適合的場景:想在自己的產品裡做一個競品已經有的功能、研究沒有原始碼的老遊戲或老軟體的演算法、debug 一個只有執行檔沒有原始碼的 legacy binary、分析沒加密保護的 APK 行為。README 自己的三個案例分別是逆向一款磁磚消除遊戲 DX-Ball 的音效聲相計算、追蹤 Notion 桌面版 Electron 應用的剪貼簿橋接邏輯、以及還原一款 1990 年代 PC-98 彈幕遊戲 TH04 的子彈環計算公式。

快速上手

安裝

npx rea-agents setup

互動式選擇要串接的 agent(支援 Claude Code、Codex、Cursor、Gemini CLI、Grok Build 等),確認要套用的設定變更後,REA 會把 MCP server 註冊進去並安裝對應的 workflow 說明文件,設定檔會先備份。裝完重啟 agent 即可。

基本用法

裝好後直接用自然語言問你的 agent:

Understand how search works in the Notes app, show me the evidence, and build a
similar feature for my project.

Agent 會透過 REA 的 MCP 工具找到 Notes app 裡搜尋功能對應的程式碼路徑,回傳找到的證據(對應的函式、呼叫鏈),再據此解釋原理並動手寫一份你專案裡的對應實作。

進階用法

不透過 agent,直接用 CLI 分析一個解壓好的 JavaScript/Electron 應用目錄或 ASAR 檔:

npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json

回傳的 JSON 包含模組清單、import 關係、Electron 的 renderer/main process 邊界。若要常駐使用,改成全域安裝:

npm install --global rea-agents
rea --help

native binary 分析需要先裝好 Hopper、Ghidra 或 IDA 其中一個作為後端引擎(setup 可在你同意後代裝 Hopper)。

與現有工具的比較

REA手動開 Ghidra/IDA直接把 disassembly 貼給 LLM
Agent 原生整合(MCP)✅❌需自行複製貼上
覆蓋格式(binary/JS/​.NET/APK/WASM…)✅ 十幾種統一介面依引擎各自支援,格式間要換工具不限格式,但品質全看貼進去的片段夠不夠
回傳附證據(對應程式碼、呼叫鏈)✅需自己整理❌ 容易產生看起來合理但編造的解釋
需要逆向工程操作經驗降低門檻,但原理仍要懂✅ 需要幾乎不需要,但也最容易出錯
本地執行,不上傳目標檔案✅✅片段會進到 LLM provider

注意事項

  • 合法使用邊界要自己把關:專案自己的 DISCLAIMER.md 寫得很明確——REA 是給合法的安全研究、事故分析、CTF、教育、互通性、軟體保存,以及分析你自己擁有或已獲授權檢視的軟體用的;明文拒絕協助繞過 DRM/授權檢查/反作弊機制、開發遊戲外掛、繞過你未獲授權測試系統的身分驗證,或複製受保護的程式碼與素材。拿別人的 app 「抄」功能前,先確認自己站在授權或合理使用的一側。
  • 商業引擎授權要自己合法取得:深度 native 分析要接 IDA Pro / Hex-Rays decompiler、Hopper 或 JEB,這些都是付費商業工具,REA 本身不提供授權、序號或啟用資格,破解版或共享序號不在允許範圍內。
  • 分析結果可能不完整或有誤:README 跟 DISCLAIMER 都寫明反編譯、還原與 AI 輔助分析的結果不保證正確或完整,重要結論要回頭核對底層證據(pseudocode/組合語言)再採信,不要直接把 agent 的解釋當成最終答案。
  • 執行類分析有副作用:部分 workflow 會實際執行或互動目標程式(例如 process capture、裝置操作),這會影響應用程式狀態、檔案或裝置,對不信任的目標建議用隔離環境,並先過一遍 agent 產生的操作計畫再放行。

今日收穫

以前以為逆向工程是一門需要長期磨練 Ghidra/IDA 操作手感的單人技能,看到 REA 才意識到它可以被重新包裝成「統一工具介面 + 可追溯證據鏈」的 agent 工作流——降低了動手門檻,但沒有犧牲可驗證性,因為每個結論都附著對應的 pseudocode 或呼叫路徑可以回頭查核,而不是 agent 自己掰一段聽起來合理的解釋。

參考資料