REA – 開源的逆向分析工具,無需源碼、對話式分析軟件

AI工具2周前發佈新公告 AI管理員
2 0

REA是什麼

REA(Reverse Engineer Anything)是開源的逆向分析工具,通過 MCP 協議把 Claude Code、Codex、Cursor 等 AI 編程 Agent 與 Ghidra、Hopper、IDA 等逆向工具連接起來。REA讓 Agent 無需源碼可分析軟件,從原生二進制、Electron/JS 應用、APK、.NET 程序集到網站,追蹤功能實現邏輯並生成帶證據鏈的分析結果,重建相似功能。

REA – 開源的逆向分析工具,無需源碼、對話式分析軟件

REA的主要功能

  • 原生二進制分析:解析 Mach-O、ELF、PE 等可執行文件,返回僞代碼、彙編、字符串、符號和調用關係。
  • JavaScript/Electron 應用分析:靜態梳理模塊、入口、IPC 通道和 source map,無需運行應用。
  • 網站觀察:通過本地 Chrome DevTools 端點被動觀察瀏覽器行爲、頁面腳本和網絡請求。
  • .NET 程序集檢查:無需執行程序即可查看元數據、CIL 指令和原生代碼邊界。
  • Android 應用逆向:藉助 JADX 反編譯 APK,查看清單聲明、類和方法。
  • 固件與包文件分析:用 Binwalk 提取固件區域,或直接生成 ZIP/APK/ASAR 等歸檔的文件清單。
  • 版本差異對比:比較應用兩個版本的二進制差異,生成變更報告。
  • 網絡抓包分析:解析 HAR 文件或 mitmproxy 捕獲,關聯請求與源碼位置。
  • 代碼重建輔助:Agent 基於分析結果追蹤功能實現線索,爲項目編寫相似功能並驗證。

REA – 開源的逆向分析工具,無需源碼、對話式分析軟件

微信關注回覆“開源”,加入AI開源項目交流羣

如何使用REA

  • 環境準備:安裝 Node.js(≥22.19 版本)和 npm,確保已安裝 Claude Code、Codex、Cursor 等任一支持的 AI 編程 Agent。
  • 一鍵安裝:在終端運行 npx rea-agents@latest setup,選擇要接入的 Agent 並審覈配置變更。
  • 審批配置:確認 setup 提出的 MCP server 註冊和 workflow 指令修改(會自動備份原配置),然後重啓你的 Agent。
  • 準備逆向引擎(可選):深度分析原生二進制需已有 Hopper、Ghidra 或 IDA 安裝,純 JS/Electron 分析不需要。
  • 用自然語言提問:向 Agent 描述目標,例如”分析 Notes 應用的搜索功能如何工作,展示證據,併爲我的項目實現類似功能”。
  • Agent 自動調查:Agent 通過 MCP 調用 REA 在本地分析目標,獲取帶證據鏈的僞代碼、調用鏈等結果。

REA的核心優勢

  • 零逆向經驗門檻:無需學習反彙編和逆向技術,用自然語言向 AI Agent 提問可分析軟件。
  • 打通主流 Agent 生態:同時支持 Claude Code、Codex、Cursor、Gemini CLI、Windsurf 等幾乎所有主流 AI 編程助手。
  • 複用成熟逆向工具:底層調度 Ghidra、Hopper、IDA 等專業工具,站在幾十年逆向工程積累之上。
  • 覆蓋目標極廣:從原生二進制、Electron/JS 應用、APK、.NET 到網站、固件、WASM,幾乎無死角。
  • 證據鏈驅動:每個結論附帶僞代碼、彙編、調用關係等證據,結果可驗證。
  • 本地分析保障隱私:全部分析在本地運行,目標軟件不會被上傳到雲端。
  • 端到端自動化:從分析、追蹤調用鏈到生成可運行的相似實現,一條 Agent 工作流串到底。

REA的項目地址

  • 項目官網:https://rea.tools/
  • GitHub倉庫:https://github.com/morluto/rea

REA可以分析什麼

目標類型 REA 返回內容 要求和指南
原生二進制 僞代碼、彙編、字符串、符號、調用和引用 Hopper、Ghidra 或 IDA;原生分析指南
離線 ELF 佈局 節區、段、原始符號/重定位和靜態緩解候選 Linux x64 上自備 pwntools;二進制診斷指南
Go 二進制 內嵌編譯器版本、模塊、替換和構建設置 內置靜態 ELF/PE/thin Mach-O 檢查;無需安裝 Go
WASM 文件 校驗、節區、精確的導入/導出 WAT 形式和解碼後的 WAT 自備 WABT 1.0.42;`inspect_wasm_artifact`
EVM 字節碼 調度選擇器、字節偏移、推斷的參數和可變性 Linux x64 本地原始/十六進制載體;離線 EVM 指南
Linux 崩潰記錄 原始備註、每個記錄線程的寄存器/信號和可選映射候選 Linux x64 自備 pwntools;可選 GDB/pwndbg;崩潰記錄指南
JavaScript / Electron 模塊、導入、source map、路由、IPC 和原生插件關係 Node.js 和 npm;應用分析指南
網站 頁面結構、腳本、網絡觀察和請求的截圖 Chrome 系瀏覽器;瀏覽器分析指南
保存的網絡抓包 請求、響應、暴露的負載和源碼位置 HAR;Linux 上原生 mitmproxy 捕獲用 mitmdump;抓包指南
.NET 程序集 元數據、CIL 指令、聲明的原生依賴和構建對比 無(純靜態);託管代碼指南
Android APK 清單聲明、類、反編譯方法和引用 Linux/macOS/Windows x64 上的無頭 JADX 和完整 JDK;Android 指南
Android 設備 設備、包、進程、日誌、轉儲、屏幕截圖和 APK/文件傳輸 自備 adb(模擬器或真機);ADB 指南
JEB 工程 引擎支持的分析單元、工件摘要和類型/方法僞代碼 由調用方啓動的 JEB 客戶端提供 MCP 服務,通過 `REA_JEB_MCP_URL` 選擇;JEB 指南
Android 資源 解碼後的清單、字符串表、語言區域和版本信息 自備 Apktool 啓動器;資源指南
固件 區域、提取結果和原生分析交接 Linux 上的 Binwalk / Unblob;固件指南
安裝包和資源 文件清單、摘要、plist、Apple bundle 結構和提取的資源 工件與 JavaScript 指南、Apple 應用指南
進程行爲 終端輸出、交互、退出和文件系統觀察,以及多次運行對比 Linux/macOS 且需原生 PTY;進程捕獲指南

REA的同類競品對比

對比維度 REA GhidraMCP
定位 通用逆向調度層,面向”調查軟件並重建功能” Ghidra 專用 MCP 橋,面向”深度分析二進制”
底層引擎 多引擎調度:Ghidra / Hopper / IDA / JADX / JEB 等 僅綁定 Ghidra(插件 + Python/Go 橋接)
分析目標範圍 原生二進制、Electron/JS、APK、.NET、網站、固件、WASM、EVM、網絡抓包等 15+ 類 僅限 Ghidra 支持的原生二進制
Agent 接入 一鍵 setup 註冊 Claude Code、Codex、Cursor、Gemini CLI、Windsurf 等 理論支持任何 MCP 客戶端,但需手動配置 bridge 腳本
安裝體驗 `npx rea-agents setup` 一條命令,自動裝 MCP server + workflow 指令 需裝 Ghidra 插件、跑 bridge 腳本、手改客戶端配置文件,鏈條較長
工作流深度 端到端:分析→追蹤調用鏈→生成相似實現→驗證 側重分析環節:反編譯、重命名符號、列導入導出、標註代碼
證據鏈 每個結論附帶僞代碼、彙編、調用關係等證據和侷限性說明 返回反編譯結果與符號信息,證據結構化程度較低
協議/許可 MIT Apache-2.0

REA的應用場景

  • 競品功能復現:看中某個 App 的離線搜索、同步機制等功能,讓 Agent 拆解其調用鏈,在自己的項目中實現相似版本。
  • 無源碼老軟件搶救:對失去源碼的老軟件、老遊戲或老庫,用 Agent 讀取僞代碼和彙編,還原算法並遷移到現代技術棧。
  • Electron/桌面應用審計:靜態梳理閉源桌面應用的模塊、路由、IPC 通信和 preload 腳本,評估安全性或理解其行爲。
  • 遺留系統遷移評估:對比軟件兩個版本的二進制差異生成變更報告,或分析 .NET/原生組件的依賴邊界,輔助系統改造決策。

REA的常見問題

Q1:哪些 Agent 可以使用 REA?

A1:任何支持本地 MCP server 的 Agent 都可以。Setup 命令會自動配置受支持的 Agent,其他客戶端可通過手動註冊 MCP 使用。


Q2:我需要安裝 Hopper、Ghidra 或 IDA 嗎?

A2:深度原生二進制分析需要三者之一。靜態 JavaScript 和 .NET 檢查不需要任何原生分析引擎。Setup 可在獲得批准後自動安裝 Hopper;Ghidra 和 IDA 則使用你已有的安裝。


Q3:我需要先啓動 Hopper 嗎?

A3:不需要,REA 會在需要時自動啓動 Hopper。但在 macOS 上,首次運行可能彈出對話框要求選擇演示模式或激活許可證,需在同一個用戶會話中完成該提示,再進行首次 CLI/MCP 操作或無人值守任務。


Q4:從 skills.sh 安裝 skill 有什麼作用?

A4:該 skill 爲你的 Agent 提供調查指令。建議通過 npx rea-agents setup 同時註冊 REA 的 MCP server 並安裝配套指令,然後重啓 Agent。


Q5:REA 返回的是什麼代碼?

A5:原生分析返回僞代碼和彙編;JavaScript/Electron 分析恢復模塊及其依賴關係。你的 Agent 基於這些發現來編寫和測試實現。


Q6:REA 會上傳我的應用嗎?

A6:不會。REA 在本地分析目標,只有你的 Agent 會收到工具結果;模型提供商的數據政策由各提供商自行決定。


Q7:遇到 bug 怎麼辦?

A7:先更新,最近的版本可能已經修復了該問題。CLI 用戶運行 rea update;npx 用戶重新運行 npx rea-agents@latest setup 並重啓。如果問題依舊,提交 issue 並附上版本、目標類型、復現步驟和錯誤輸出。

© 版權聲明

相關文章

暫無評論

暫無評論...