REA(Reverse Engineer Anything) 是一個爆紅的 GitHub 倉庫,提供像 Claude Code 這類 AI 寫碼代理工具,能在沒有原始碼的情況下查看已安裝應用程式的內部結構。我把它安裝到 Windows 上,拿 VS Code 來測試,並記錄了途中遇到的每一個錯誤。
🎥 想看影片嗎? 在這裡觀看完整實作流程:[Walkthrough]
REA 是一個 MCP 伺服器,加上一組給你的 AI 代理使用的工作流程指令(稱為「技能」)。與其從截圖猜測應用程式怎麼運作,代理可以呼叫 REA 的分析工具——在 6.7.0 版本中共有 207 個——直接檢查真實檔案。
可以把它想成一間餐廳:
它開箱即支援 JavaScript 與 Electron 應用程式。原生 .exe / .dll 分析需要另外安裝 Ghidra、IDA 或 Hopper,而完整的 Android APK 分析則需要 Java JDK。
我最喜歡的部分:每個發現都附有信心等級。在我的測試中,Electron fuse 檢查回傳的是來自已發佈產物的 "confidence": "observed",並附上檔案的 SHA-256 作為證明。
前置需求: Node.js 22.19+、24.11+ 或 26+。
npx rea-agents setup
精靈會詢問你使用哪個代理工具,並替你註冊 REA。
在 Windows 上,安裝流程刻意不會幫你修改代理工具的設定,所以請自己手動註冊:
node -v
npm install -g [email protected]
rea doctor
claude mcp add --scope user rea -- cmd /c rea mcp
接著完全重新啟動 Claude Code,再執行 /mcp——你應該會看到 rea · connected。
cmd /c在 Windows 上很重要:rea是一個.cmd啟動器,Claude Code 無法直接啟動它。
⚠️ 請只從官方倉庫安裝——github.com/morluto/rea——或 npm 套件 rea-agents。這類工具很容易出現仿冒倉庫,風險不容忽視。

我給 Claude Code 這段提示詞(只做靜態分析——沒有啟動或修改任何東西):
Use the rea MCP server to statically analyse VS Code at
%LOCALAPPDATA%\Programs\Microsoft VS Code. Do not launch or modify it.
1. inspect_pe_resources and inspect_electron_fuses on Code.exe
2. Read resources\app\product.json and list every server it talks to
3. analyze_javascript_application on resources\app and map its processes
Explain each finding in plain English.
| 元件 | 版本 |
|---|---|
| VS Code | 1.142.0 |
| Electron | 43.7.7 |
| Chromium | 150.0.7871.250 |
| Node.js | 24.21.0 |
| 大小 | 238 MB,64 位元,由 Microsoft 簽章 |
內部名稱是什麼?electron.exe。VS Code 本質上就是包在桌面殼層中的網頁應用程式。
Fuse 是在建置時寫入可執行檔的開關。REA 把全部九個都讀出來了。重點如下:
RunAsNode、EnableNodeOptionsEnvironmentVariable、EnableNodeCliInspectArguments——VS Code 需要它們來支援 CLI 與輔助程序。EnableEmbeddedAsarIntegrityValidation、OnlyLoadAppFromAsar——VS Code 改為透過 product.json 中的 checksum 來檢查自己的檔案。這些是設計上的取捨,不是 bug——但也正因如此,Electron 應用程式才特別值得研究。
從 product.json 可以看到:更新伺服器、擴充功能市集、託管在 GitHub 上的 MCP 伺服器展示列、設定同步、A/B 實驗服務、由 Bing 支援的設定搜尋、語音服務,以及一個託管 AI 代理 SDK 的 CDN。遙測預設是開啟的,但可以關閉。
主程序、工作區視窗、共用程序、擴充功能宿主程序、pty 宿主程序(終端機)、檔案監看程序,以及較新的代理宿主程序。這就是為什麼某個延伸模組當掉,不會把你的編輯器整個卡死——擴充功能是在自己的程序中執行。
| 錯誤 | 原因 | 修正方式 |
|---|---|---|
'claude' is not recognized |
claude.exe 位於 %USERPROFILE%\.local\bin,但該路徑不在 PATH 中 |
把那個資料夾加入你的使用者 PATH,然後開啟新的終端機 |
MCP server rea already exists in user config |
已經註冊過了 | 不用修正——重新啟動 Claude Code 即可 |
/mcp 裡看不到 rea |
尚未重新啟動,或是不同的工作階段/電腦 | 在同一台電腦上完全關閉再重新開啟 Claude Code |
provider_unavailable |
找不到 Ghidra / IDA / Hopper | 安裝 Ghidra + JDK 21,設定 GHIDRA_INSTALL_DIR,執行 rea doctor |
| 伺服器在 Windows 上無法啟動 | 少了 cmd /c |
claude mcp add --scope user rea -- cmd /c rea mcp |
| APK 分析失敗 | 安裝的是 JRE 而不是 JDK | 安裝完整的 Java JDK |
小技巧: 只要哪裡出問題,先執行 rea doctor。它是唯讀的,而且會清楚告訴你缺了什麼。
身為應用程式開發者,我會用它來檢查自己的發行版本(真正打包進 APK 的內容)、學習優質開源專案如何實作功能,以及稽核我安裝的工具到底連到哪些服務。
REA README 中寫得很清楚:它用於合法研究、教育、互通性、軟體保存——以及你擁有或已獲授權檢視的軟體。可以從應用程式學習,但不要抄襲付費軟體。
觀看完整影片: 完整詳細影片
接下來你想讓我逆向工程什麼?留言告訴我吧 👇
我是 Rajiv——我在 The Code Street 上製作關於真正有用的 AI 工具影片。