REA(Reverse Engineer Anything) 是一個爆紅的 GitHub 倉庫,提供像 Claude Code 這類 AI 寫碼代理工具,能在沒有原始碼的情況下查看已安裝應用程式的內部結構。我把它安裝到 Windows 上,拿 VS Code 來測試,並記錄了途中遇到的每一個錯誤。

🎥 想看影片嗎? 在這裡觀看完整實作流程:[Walkthrough]


什麼是 REA?

REA 是一個 MCP 伺服器,加上一組給你的 AI 代理使用的工作流程指令(稱為「技能」)。與其從截圖猜測應用程式怎麼運作,代理可以呼叫 REA 的分析工具——在 6.7.0 版本中共有 207 個——直接檢查真實檔案。

可以把它想成一間餐廳:

  • 你 是顧客——用白話提出問題。
  • Claude Code 是主廚——決定要做什麼。
  • REA 是主廚的工具箱。
  • 應用程式 是被檢查的食材。

它開箱即支援 JavaScript 與 Electron 應用程式。原生 .exe / .dll 分析需要另外安裝 Ghidra、IDA 或 Hopper,而完整的 Android APK 分析則需要 Java JDK。

熱度 vs 現實

  • ✅ 它能在應用程式檔案中找到真實證據
  • ✅ 它能用白話解釋那些證據
  • ✅ 它會告訴你哪些地方無法判斷
  • ❌ 它不是一鍵「複製這個 App」的按鈕
  • ❌ 防護嚴密的應用程式仍需要額外工具,而且可能還是會留下未解問題

我最喜歡的部分:每個發現都附有信心等級。在我的測試中,Electron fuse 檢查回傳的是來自已發佈產物的 "confidence": "observed",並附上檔案的 SHA-256 作為證明。


如何安裝 REA

前置需求: Node.js 22.19+、24.11+ 或 26+。

Mac 與 Linux(引導式)

npx rea-agents setup

精靈會詢問你使用哪個代理工具,並替你註冊 REA。

Windows(手動——這是我成功的方法)

在 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。這類工具很容易出現仿冒倉庫,風險不容忽視。


示範:逆向工程 VS Code

REA GitHub Walkthrough
我給 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.

1. Code.exe 的真實身分

元件 版本
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 本質上就是包在桌面殼層中的網頁應用程式。

2. 九個 Electron 安全 fuse

Fuse 是在建置時寫入可執行檔的開關。REA 把全部九個都讀出來了。重點如下:

  • 開啟: RunAsNode、EnableNodeOptionsEnvironmentVariable、EnableNodeCliInspectArguments——VS Code 需要它們來支援 CLI 與輔助程序。
  • 關閉: EnableEmbeddedAsarIntegrityValidation、OnlyLoadAppFromAsar——VS Code 改為透過 product.json 中的 checksum 來檢查自己的檔案。

這些是設計上的取捨,不是 bug——但也正因如此,Electron 應用程式才特別值得研究。

3. VS Code 會跟誰通訊

從 product.json 可以看到:更新伺服器、擴充功能市集、託管在 GitHub 上的 MCP 伺服器展示列、設定同步、A/B 實驗服務、由 Bing 支援的設定搜尋、語音服務,以及一個託管 AI 代理 SDK 的 CDN。遙測預設是開啟的,但可以關閉。

4. 七個程序

主程序、工作區視窗、共用程序、擴充功能宿主程序、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 工具影片。


原文出處:https://dev.to/thecodestreet/rea-github-tutorial-reverse-engineer-anything-with-claude-code-full-setup-fixes-1g89


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
boluoji
📝17   💬3   ❤️6
351
🥈
站長阿川
📝5   💬2   ❤️1
213
🥉
mike
1
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登