1. 準備電腦
在存放目標檔案的電腦上操作。本機的程式開發助手可以讀取這些檔案,並幫你執行分析工具。
怎麼開啟終端?
- Windows:開啟「開始」功能表,輸入 PowerShell 後按 Enter。
- macOS:按 ⌘ Space,輸入 Terminal,按 Enter。
- Linux:多數桌面環境可以按 Ctrl Alt T。
用 Ctrl V 貼上命令(macOS:⌘ V;Linux 終端:Ctrl Shift V),再按 Enter。
指令貼到終端機;標著「你的程式開發助手」的提問貼到助手的聊天框。
需要 Node.js 22(22.19+)、24(24.11+)或 26+。npm 會隨 Node.js 一起安裝。
還沒安裝 Node.js,或不確定?
開啟終端機並檢查:
node -v
npm -v
如果 node -v 顯示 v22.19+、v24.11+ 或 v26+,就可以繼續。如果版本更舊,或顯示“無法識別”/“command not found”,先安裝 Node.js 24 LTS:
Windows (PowerShell)
winget install --exact --id OpenJS.NodeJS.LTS
如果要求你接受條款,請輸入 Y。關閉 PowerShell 後重新開啟,再執行 node -v。
如果沒有 winget,可以下載 Node.js 安裝程式。
如果執行 npx 時 PowerShell 提示「此系統上禁止執行指令碼」,改用 npx.cmd。npm 則改用 npm.cmd:
npx.cmd rea-agents@latest setup
macOS
首次安裝時,下載 Node.js 24 LTS 的 macOS 安裝套件(.pkg),打開並按提示安裝,然後重新打開終端機。
已經在使用 Homebrew?
brew install node
Linux
如果沒有 curl 和 unzip,先安裝它們。Debian 或 Ubuntu 使用 sudo apt install curl unzip;其他發行版使用對應的套件管理工具。
curl -fsSL https://fnm.vercel.app/install | bash
關閉終端機,重新打開,再執行:
fnm install 24
fnm use 24
fnm default 24
發行版提供的 nodejs 套件通常早於 22.19。如果使用它,請執行 node -v 確認版本。
偏好一般的安裝程式?到 nodejs.org 下載 LTS 版本。
為程式開發助手建一個工作資料夾
在終端機中為練習建一個資料夾,然後進入它:
mkdir rea-work
cd rea-work
下一步繼續使用這個終端機。如果已經有工作資料夾,進入那個資料夾即可。
2. 選擇程式開發助手
你和程式開發助手對話,它呼叫 REA 來分析軟體。從下面選一個用戶端;第一次使用就展開它的安裝步驟。
Codex · 使用 ChatGPT 帳號
使用適合你作業系統的指令安裝 Codex:
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"
curl -fsSL https://chatgpt.com/codex/install.sh | sh
安裝後,重新打開終端機並回到工作資料夾,再啟動 Codex:
codex
選擇「Sign in with ChatGPT」,在瀏覽器中登入後回到終端機。看到訊息輸入框後,繼續第 3 步。
Cursor、Windsurf 或 VS Code · 使用編輯器
- 安裝適合你作業系統的編輯器,然後登入。
- 打開第 1 步建立的 rea-work 資料夾。
- 打開 AI 聊天面板,選擇 Agent 模式。Windsurf 或 Devin Desktop 使用其助手聊天面板;VS Code 先設定 GitHub Copilot。
Cursor 安裝 · Windsurf / Devin Desktop 安裝 · VS Code 與 Copilot 設定
Claude Code · 使用 Claude 帳號
使用適合你作業系統的安裝指令:
irm https://claude.ai/install.ps1 | iex
curl -fsSL https://claude.ai/install.sh | bash
重新打開終端機,回到工作資料夾並執行 claude,按提示登入。你需要符合條件的 Claude 訂閱或已設定的 API 帳號。
Claude Desktop · 使用桌面聊天應用程式
在 Windows 或 macOS 上安裝 Claude Desktop 並登入。先完全結束它,再在 Claude 之外打開一個終端機,執行這條指令:
npx rea-agents@latest setup --client claude_desktop
查看並確認計畫,重新打開 Claude,再按第 3 步檢查連接。
OpenCode · 選擇 AI 模型
npm install --global opencode-ai
在工作資料夾裡執行 opencode。在聊天框中使用 /connect 連接模型帳號,再選擇模型。
全部支援的用戶端與 setup ID
npm 6.4.0 支援下面這些用戶端。指定用戶端時,在 --client 後填寫對應的 ID。
| 用戶端 | Setup ID |
|---|---|
| Claude Code | claude_code |
| Claude Desktop | claude_desktop |
| Codex | codex |
| Cursor | cursor |
| Gemini CLI | gemini_cli |
| Windsurf | windsurf |
| Devin | devin |
| OpenCode | opencode |
| Antigravity | antigravity |
| GitHub Copilot CLI | copilot_cli |
| Command Code | commandcode |
| Qwen Code | qwen_code |
| VS Code | vscode |
| Grok Build | grok_build |
| OMP | omp |
| Pi | pi |
| Hermes | hermes |
Qoder(qoder)、Factory Droid(droid)、Trae(trae)、ZCode(zcode)和 DeepSeek Harness(dsh)已在 main 中提供;需要使用原始碼建置或包含這些整合的新版本。
Grok Bot · 在它的託管電腦上連接
在 Grok Bot 聊天中,請它新增名為 rea 的自訂 MCP 服務,在 Bot 的電腦上執行這條指令:
npx -y rea-agents@6.4.0 mcp
3. 連接 REA
把這段話複製給程式設計助手:
使用 npx rea-agents@latest setup 安裝 REA,並連線到這個程式設計助手。先展示安裝計劃,等我確認後再執行,然後驗證安裝結果。
也可以自己執行 setup
npx rea-agents@latest setup
如果只設定一個指定用戶端,附上它的 setup ID:
npx rea-agents@latest setup --client codex
如果 npm 詢問是否下載,輸入 y 後按 Enter。在 REA 的用戶端清單中,用方向鍵移動、空白鍵選擇,然後按 Enter 繼續。
選擇你的用戶端並檢查設定計畫。REA 會加入它的 MCP 連線和對應的調查 skill,並備份現有的設定。套用變更前,它會先詢問你。
MCP 讓程式開發助手能夠呼叫 REA;skill 則告訴它分析軟體時該怎樣使用這些工具。
第一次練習可以跳過可選的 Hopper 安裝。setup 完成後,重新啟動用戶端。
如何重啟客戶端?
桌面應用(Claude Desktop、Cursor、Windsurf、VS Code):完全退出後再開啟,只關視窗不夠。macOS 上按 ⌘ Q;Windows 上,如果有托盤圖示,也要從那裡退出。
終端助手(Claude Code、Codex、Gemini CLI):退出當前會話,再啟動一次。
npx -y rea-agents@latest doctor --client codex --json
把 codex 換成你用戶端的 setup ID。檢查通過時會顯示 "healthy": true。然後問程式開發助手:
檢查 REA 是否已連接,並告訴我你能使用哪些 REA 工具。
4. 開始第一次分析
示例是一個包含六個檔案的 Electron 應用,帶有Export notes(匯出筆記)按鈕。助手無需安裝或啟動 Electron 就能檢查程式碼。
下載 https://rea.tools/examples/notes-example.zip,放進一個新的示例資料夾並解壓。用 REA 找出點選 Export notes 後發生了什麼。展示 notes.csv 寫到哪裡、有哪些欄位,以及相關檔案和行號。
尋找帶檔案和行號的簡短解釋:
按鈕傳送
notes:export訊息。主程序把筆記轉換為 CSV,並將notes.csv寫到使用者的下載資料夾。列名為id和title。
自行下載範例,或使用自己的應用程式
如果助手不能下載檔案,你也可以手動解壓。把 notes-example 資料夾的路徑交給它,再問同一個匯出問題。
用 REA 檢查
/absolute/path/to/app中的應用程式。找出它怎樣匯出資料,並給出相關檔案和行號。
怎麼取得資料夾的完整路徑?
- Windows:在檔案資源管理器中右鍵資料夾,選擇“複製檔案地址”。Windows 10 上,按住 Shift 再右鍵。
- macOS:在 Finder 中右鍵資料夾,按住 Option,選擇“將…複製為路徑名稱”。
- 所有系統:把資料夾拖進終端視窗,也能顯示路徑。
在終端裡,包含空格的路徑需要加引號。
分析其他類型的軟體
按目標類型展開下面的步驟。Provider 指 REA 分析這類軟體時使用的本機工具。
原生執行檔和函式庫 · Hopper、Ghidra 或 IDA
在執行 REA 的電腦上安裝一個分析工具。Host 指你使用的作業系統,target 指要分析的程式。
| 分析工具 | Windows | macOS | Linux |
|---|---|---|---|
| Hopper | 不支援 | 12+ | 支援的發行版 |
| Ghidra | x64 · 實驗性支援 | x64 / arm64 | x64 / arm64 |
| IDA | 已驗證的設定 | 已驗證的無介面設定 | 參閱 provider 指南 |
Hopper · 透過 setup 安裝或連接
在 macOS 或 Linux 上連線 Hopper。執行上面的 setup 命令,它會檢測已有安裝,或提出安裝計劃供你確認。
在 setup 中選擇 Hopper,查看它的獨立安裝計畫。macOS 首次打開 Hopper 時選擇試用模式或啟用授權;Linux 的 setup 會準備支援的試用版及其專用顯示環境。
Linux 支援 Ubuntu 24.04+、Fedora 41+、Nobara 44+、Arch Linux、CachyOS 和 Omarchy。Hopper 是商業軟體,試用版有廠商規定的限制。
npx -y rea-agents@latest doctor --provider hopper --json
如果 macOS 請求自動化權限,在「系統設定 → 隱私權與安全性 → 自動化」中允許啟動 REA 的應用程式,然後重試。
Ghidra · 安裝免費的分析工具和 Java
- 安裝包含 Java 編譯器的 64 位元 JDK 21 或更新版本。下載時選擇符合電腦架構的安裝套件。
-
從 Ghidra 12.1.4 發布頁的 Assets 清單下載並解壓縮
ghidra_…_PUBLIC_….zip。選擇發布套件,不要選擇「Source code」。 -
找到解壓縮後包含
ghidraRun或ghidraRun.bat的資料夾,把該資料夾的完整路徑填入GHIDRA_INSTALL_DIR。
檢查 Java。第一條指令會顯示 java.home,將該資料夾用於 JAVA_HOME;第二條確認編譯器已安裝:
java -XshowSettings:properties -version
javac -version
在 Windows 上連線 Ghidra
Windows x64 提供實驗性的只讀支援:分析固定本地 NTFS 驅動器上的原生 x86、x64 PE 應用和 DLL。使用已有的 Ghidra 12.1.x 和 64 位 JDK 21 或更新版本:
$env:GHIDRA_INSTALL_DIR = "C:/tools/ghidra_12.1.4_PUBLIC"
$env:JAVA_HOME = "C:/tools/jdk-21"
npx -y rea-agents@latest doctor --provider ghidra --json
npx rea-agents@latest setup
把兩個路徑換成安裝位置,再檢視 setup 計劃。
連線已有的 Ghidra
export GHIDRA_INSTALL_DIR="/absolute/path/to/ghidra_12.1.4_PUBLIC"
export JAVA_HOME="/absolute/path/to/jdk-21"
把兩個路徑換成你已有的安裝位置。如果剛在 macOS 或 Linux arm64 上解壓縮 Ghidra,先為這台電腦編譯原生反編譯器,再繼續下面的步驟。
編譯 Ghidra 的原生反編譯器
macOS 編譯需要 Xcode Command Line Tools、make 和 bison。選擇符合電腦架構的指南:
然後檢查 Ghidra,並為用戶端儲存這些路徑:
npx -y rea-agents@latest doctor --provider ghidra --json
npx rea-agents@latest setup
在同一個終端機工作階段中執行這些指令。設定路徑後重新執行 setup,確認更新後的用戶端設定,再重新啟動程式開發助手。
IDA · 連接既有安裝
按 IDA provider 指南準備上游 MCP 設定。可以連接已打開原始程式的 IDA 介面,或使用建立獨立資料庫的無介面 supervisor。
已驗證的設定包括 Windows 舊版 GUI 與無介面 supervisor,以及 macOS arm64 上的 IDA Professional 9.1 無介面 supervisor。可選的原生 GUI 橋接另有版本和平台要求。
macOS 無介面模式和原生 GUI 橋接需要 REA 原始碼建置,或包含這些改動的發行版。npm 6.4.0 尚未包含這些改動。
在已建置的原始碼目錄中,執行 node scripts/rea.mjs doctor --provider ida --json 和 node scripts/rea.mjs setup,不要使用下方的 npx 命令。
準備 IDA 設定檔
按下面的 IDA 指南安裝並設定上游服務,再用文字編輯器把可用的連接設定儲存為 ida-mcp.json。Windows 記事本儲存時選擇「所有檔案」,避免自動加入 .txt。
如果使用提供 idb_open、idb_list 和 idb_close 的無介面 supervisor,檔案可以這樣寫:
{
"command": "idalib-mcp",
"args": ["--stdio", "--max-workers", "1"],
"mode": "headless"
}
如果連接舊版 1.4.0 GUI 服務,把可用的 command、args 和可選的 env 複製到檔案中。先在 IDA 中打開原始程式並啟動上游外掛,再讓 REA 分析。
$env:REA_IDA_MCP_CONFIG = "C:/analysis/ida-mcp.json"
$env:REA_ANALYSIS_PROVIDER = "ida"
npx -y rea-agents@latest doctor --provider ida --json
npx rea-agents@latest setup
export REA_IDA_MCP_CONFIG="/absolute/path/to/ida-mcp.json"
export REA_ANALYSIS_PROVIDER="ida"
npx -y rea-agents@latest doctor --provider ida --json
npx rea-agents@latest setup
使用按 provider 指南準備好的 JSON 設定檔,再執行 setup 並重新啟動程式開發助手。
連接後,把原始執行檔的完整路徑和分析工具名稱告訴程式開發助手:
使用 REA 和我已設定的分析工具檢查
/absolute/path/to/program。列出其中的函式和字串,然後說明處理使用者輸入的部分,並提供程式碼引用。
網站、Android、.NET、韌體及其他目標
打開對應目標的指南,其中會列出額外工具、支援的平台和第一條分析指令。
| 目標 | 需要準備的工具 | 指南 |
|---|---|---|
| JavaScript / Electron | Node.js + npm | 查看指南 |
| 網站 | Chrome / Chromium / Edge | 查看指南 |
| .NET / Flutter / 軟體套件 | Node.js + npm | 查看指南 |
| Android APK | JADX + JDK 17+ | 查看指南 |
| Android 裝置 | adb | 查看指南 |
| Android 資源 | Apktool + Java | 查看指南 |
| JEB 專案 | JEB + MCP | 查看指南 |
| 韌體 | Binwalk / Unblob · Linux | 查看指南 |
| WASM | WABT | 查看指南 |
| SQLite 資料庫 | Node.js 24.15+ / 26+ | 查看指南 |
| EVM 位元碼 | Node.js · Linux x64 | 查看指南 |
| ELF / Linux 當機記錄 | pwntools / GDB / pwndbg | 查看指南 |
| HAR / SAZ / mitmproxy | Node.js / mitmdump | 查看指南 |
| PCAP / PCAPNG | TShark / capinfos · Linux | 查看指南 |
| 邏輯訊號 | sigrok-cli · Linux | 查看指南 |
| 程序行為 | PTY · Linux / macOS | 查看指南 |
Flutter 指南 · 軟體套件與資源 · EVM 位元碼 · 全部分析指南
在終端機中使用 REA
CLI 指令、全域安裝與 curl
靜態分析 JavaScript 或 Electron 應用目錄、ASAR 檔案,無需啟動應用:
npx -y rea-agents@latest analyze-javascript-application "/absolute/path/to/app" --json
把路徑換成解包後的應用目錄或 .asar 檔案。Windows 上也可以使用 "D:/apps/example" 這樣的路徑。
在哪裡找到應用的 .asar 檔案?
Electron 應用通常把它放在 resources 資料夾中:
-
Windows :
C:\Users\<you>\AppData\Local\Programs\<App>\resources\app.asar -
macOS:
/Applications/<App>.app/Contents/Resources/app.asar(右鍵應用,選擇“顯示包內容”) -
Linux:通常位於
/opt/<App>/resources/app.asar
有些應用安裝在其他位置。在應用目錄裡搜尋 app.asar。
結果會識別應用,展示模組之間的關係,並給出原始碼位置。REA 無法解析的關係會在結果中註明。
如果希望在 shell 中直接使用 rea 命令:
npm install --global rea-agents
npx -y rea-agents@latest function "/absolute/path/to/program" main --provider ghidra --json
把 main 換成目標函式清單中的名稱或位址。先完成 Ghidra 設定再執行。
macOS 或 Linux 準備好 Node.js 後,也可以使用 curl 安裝:
curl -fsSL https://raw.githubusercontent.com/morluto/rea/main/install.sh | bash
依設定提示連接你的助手。如果沒有出現提示,執行 rea setup。
如果終端找不到 rea,請使用安裝器印出的執行檔路徑。在 Linux 上,預設的設定命令是 "$HOME/.local/bin/rea" setup。
尋求幫助
助手看不到 REA 工具時
配置後重啟或重新連線客戶端。用 doctor 檢查 REA 連線。以 Codex 為例:
在第 3 步的檢查指令中填寫你的 setup ID。使用編輯器時,在 MCP 設定中啟用 REA,並在助手聊天中允許使用它的工具。
分析後端出現問題時
檢查正在使用的分析後端。以 Ghidra 為例:
npx -y rea-agents@latest doctor --provider ghidra --json
報告會列出失敗的檢查和建議的下一步。
Windows、WSL 與含空白的路徑
Windows 用戶端和分析工具使用 Windows PowerShell。如果程式開發助手在 WSL 內執行,就在那個 Linux 環境中安裝 Node.js 和 REA,並使用 Linux 路徑。無介面 provider 與 REA 在同一個系統環境中執行。
在終端裡,包含空格的路徑需要加引號。
Windows setup 指令:
npx.cmd rea-agents@latest setup
更新或移除 REA
要更新程式開發助手的連接,重新執行最新版 setup,查看並確認計畫,然後重新啟動用戶端。
npx rea-agents@latest setup
全域安裝的 CLI 用 rea update 更新。使用 npx rea-agents@latest uninstall 移除 REA 的用戶端設定和 skill。
- REA FAQ關於更新、助手和分析的常見解答。
- 選擇調查指南二進位制、Electron 應用和瀏覽器的完整示例。
- GitHub issues附上命令與診斷結果,反饋問題。
- REA 社群交流問題、調查和正在進行的工作。
