YouMind
登入

逆向工程:如何利用最危險的 Repo 與 Opus 5.5 免費獲取任何功能(完整課程)

@0xCodila
英語2026年10月12日
946K
1.8K
230
66
3.2K

TL;DR

本教程全面介紹如何使用 REA(Reverse Engineer Anything)工具搭配 Claude Code 來分析並重建軟體功能。內容涵蓋安裝步驟、合法的淨室原則(Clean-room principles)、實際案例如重現 Adobe 或 TradingView 的功能,以及進階提示詞工作流程。

REA 是目前網路上最危險的東西,但 99% 的人根本不知道怎麼用它

你每個月花錢訂閱的那些 App,它們的功能其實早就躺在你的電腦裡了

動態設計軟體、Office、TradingView、你的筆記 App 等等——這些全只是你硬碟裡的一堆程式碼

而所有公司都在賭一件事:你永遠不會去翻它的底

現在,一個開源 repo 只要一行指令,就能讓你的 Claude Code 擁有同樣的技能

在 alpha 之前 — 訂閱我的 substack 獲取更多最新 alpha —

https://substack.com/@0xcodila

https://x.com/MatthewBerman/status/2108245653843509415

這三天它徹底洗版了。「軟體已死」、「閉源玩完了」

https://x.com/RoundtableSpace/status/2109165852578992582

大多數人只看了截圖、存了書籤,卻從來沒動手試過

所以在這堂完整課程裡,我會用最白話的方式告訴你一切:

  • 逆向工程到底是什麼
  • REA 能讀取哪些東西,從桌面軟體到遊戲都行
  • 「這不就是偷嗎?」的誠實解答
  • 如何照著官方文件一步步安裝
  • 大家已經重做了什麼:Adobe、Office、TradingView、遊戲
  • 一般人和專業人士每天怎麼用它
  • 一整包可以直接複製貼上的提示詞

所以,先存個書籤,打開終端機,跟著一步步來吧

Part 1 - 搞懂它

01. 什麼是逆向工程(以及什麼是 REA)

逆向工程其實很簡單

你盯著一個做好的 App,在沒有原始碼的情況下,搞清楚它內部是怎麼運作的

就這樣。你想把某個功能理解透徹,好到能解釋它、修改它,或自己重做一個版本

REA(Reverse Engineer Anything)做的就是這件事,而且苦差事都交給你的 AI agent 去做。官方 README 用一句話就說清楚了:

「看到喜歡的功能。搞懂它的運作原理,一路挖到二進位層級。」

技術上來說它是這樣的:

  • 一個 MCP server + CLI,可以接進 Claude Code、Codex、Cursor、Gemini CLI 和其他 agents
  • 它在本機執行。你的 App 絕對不會被上傳到任何地方
  • 每個結論都附帶證據:哪個函式、哪個檔案、哪次呼叫,以及還有哪些未知部分

你用大白話提問。REA 檢查程式。你的 agent 負責解釋、做出你的版本並測試 REA repo

codila - inline image

最棒的範例就在官網上

舉個例子:為什麼 Windows 小算盤在你輸入 200 + 10% 時會顯示 220?

沒有 REA,你得手動解譯分支、追蹤呼叫。有了 REA,你只要開口問

程式碼給出的答案:按下 + 之後,% 按鈕會取第一個數字的百分比。200 的 10% 是 20,所以 200 + 20 = 220。而按下 × 之後,10% 就直接變成 0.1

或者為什麼 Chrome 恐龍遊戲會越跑越快:速度從 6 開始,每次更新加 0.001,到 13 封頂

你不用讀程式碼。你只要問問題,就能拿到規則

REA 是 MIT 授權的開源專案,由 @morluto 開發

第一版在 2026 年 7 月 12 日發布。三個月後,GitHub stars 突破 100K+

https://x.com/celineodier/status/2109281121749856655

02. REA 能讀取什麼

這是官方清單,我幫你翻譯成人話 What you can analyze

  • 用 JavaScript/Electron 做的桌面 App(Notion、Slack、Discord、Obsidian 等等)。不用額外裝東西
  • 網站:頁面結構、腳本、網路請求。你需要 Chrome 家族的瀏覽器
  • 已儲存的網路流量(瀏覽器匯出的 HAR 檔)
  • 程式和遊戲(.exe、Mac app、老 DOS 遊戲):偽代碼、組合語言、字串、呼叫。需要 Ghidra、Hopper 或 IDA
  • .NET apps:不需要額外工具
  • Android apps (APK):需要 JDK 和 JADX
  • 智能合約 bytecode:Linux x64
  • 韌體、WASM、Go 二進位檔等等

以下是幾乎沒人提到的部分:

很多 Unity 遊戲的邏輯是用 .NET code 打包的。而 REA 讀 .NET 完全不需要額外工具

這就是為什麼有人能在 30 分鐘內,把自己買的一款 Steam 遊戲丟進 Unity 裡打開:

https://x.com/AIWarper/status/2109060856466264566

所以現在 agent 幫你把整件事都做完了

codila - inline image

03. 等等... 這不就是偷嗎?

我們來聊聊房間裡的大象!

REA 一爆紅,X 上一半的人在喊「盜版」,另一半在喊「軟體已死」

Chamath 甚至在 All-In 節目上說,有人把整套 Adobe 都「反編譯」了

https://x.com/firesidealpha/status/2108761607857992104

好笑的地方來了。那支影片被加上了 Community Note

那些 Adobe 替代品並不是反編譯出來的。開發者稱它們為

淨室重新實作(clean-room reimplementations)

這一則註解就把整個法律遊戲講透了。讓我解釋一下什麼是淨室,因為一旦你懂了,一切就通了

淨室是 40 年前的老招

Step 1: 一組團隊研究原版,寫下它做了什麼。不是程式碼,而是行為

Step 2: 另一組完全不同的團隊,只靠那份描述來打造新產品。他們永遠看不到原始碼

結果是一樣的東西,但裡面零行原版的程式碼 Clean-room design

PC 產業就是這樣誕生的。80 年代初,Compaq 用這招重做了 IBM 的 BIOS,花了大約 100 萬美元。這就是為什麼其他品牌能做出「IBM 相容」PC

而且法院一直挺逆向工程:

  • 1992 年,Sega v. Accolade。 Accolade 拆解 Sega Genesis 遊戲來做自己的相容遊戲。法院認定,當拆解程式碼是理解其運作方式的唯一途徑時,可能屬於合理使用 Sega v. Accolade
  • 2000 年,Sony v. Connectix。 Sony 以 0-3 敗訴。最終的模擬器裡完全沒有 Sony 的程式碼

當然,歷史也有另一面

2010-2011 年間,駭客破解了 PS3 的安全機制並公開了 root key。Sony 告了 George Hotz(geohot),他在 2011 年 4 月和解,同意不再破解 Sony 產品 TechSpot

所以我的真心話是

在自己電腦上讀 App 來搞懂它,這叫學習

根據行為用自己的程式碼重做一個功能,這一直是業界的做法

直接複製他們的程式碼、破解付費功能、或公開別人反編譯的原始碼,這才是會被告的部分

連 REA 團隊自己都說得很白:它是為了合法研究、教育、互通性、軟體保存,以及你擁有或有權檢查的軟體 Disclaimer

研究原版。推出你自己的。 這就是本文所有內容的鐵律

codila - inline image

Part 2 · 安裝

03. 5 分鐘安裝 REA

照順序來 Get started

Step 1. 檢查 Node.js

打開終端機執行:

text
1node -v
2npm -v

你需要 Node 22.19+、24.11+ 或 26+。不支援 23 和 25 版

如果版本太舊或出現「command not found」,請安裝 Node 24 LTS:

macOS(用 Homebrew):

text
1brew install node

關掉 Terminal,重新打開,然後:

text
1fnm install 24
2fnm default 24

Windows(PowerShell):

text
1winget install OpenJS.NodeJS.LTS

如果有詢問就按 Y。關掉 PowerShell,重新打開,執行 node -v

如果 Windows 之後跳出「running scripts is disabled」,執行一次這個:

text
1Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

Step 2. 準備一個 agent

我用的是 Claude Code。它需要付費的 Claude 方案。設定頁面:code.claude.com/docs/en/setup

Codex、Cursor、Gemini CLI、OpenCode 等也都可以

Step 3. 執行 REA 安裝

最簡單的方法: 把這段貼進 Claude Code,讓它全包:

text
1使用 npx rea-agents@latest setup 安裝 REA 並將它連接到這個 coding agent。先給我安裝計畫讓我確認,然後驗證安裝結果。

或自己跑:

text
1npx rea-agents@latest setup

接下來會發生什麼:

  • npm 會問你要不要下載套件。選 yes
  • REA 會列出可用的 agents。選 Claude Code
  • REA 會列出它要做的所有變更計畫。你沒點頭就不會動任何东西。 它也會備份你目前的設定
  • 它會加入 MCP 連線以及對應的調查技能

安裝過程也會問你要不要裝 Hopper,這是一個用來讀取程式的獨立引擎。在 Mac 上它會下載官方安裝檔並打開,你選 demo mode 就好。這是選配的,現在可以先說 no

Step 4. 重啟你的 agent

  • 終端機裡的 Claude Code:退出再開一個新 session
  • 桌面 App(Claude Desktop、Cursor):用 ⌘Q 完全關閉。只關視窗是不夠的

Step 5. 檢查

text
1npx -y rea-agents@latest doctor --client claude_code --json

doctor 只會檢查,絕對不會改任何東西。如果哪裡失敗了,它會告訴你下一步該怎麼做

想永久使用簡短的 rea 指令:

你的成果: Claude Code 現在有 REA 工具了。問它「你有什麼 REA 工具?」,它就會列出來

text
1npm install --global rea-agents
2rea --help
codila - inline image

04. 2 分鐘完成你的第一次逆向工程

別一開始就挑大魔王。REA 為此準備了官方練習 App First investigation

它是一個超小的「Notes」App,裡面有個 Export notes 按鈕。你的任務:找出匯出到底去了哪裡

把這段貼進 Claude Code:

text
1將 https://rea.tools/examples/notes-example.zip 下載到新的 example 資料夾並解壓縮。使用 REA 找出我點擊 Export notes 時發生了什麼事。

然後問:

text
1顯示 notes.csv 寫在哪裡、包含哪些欄位,以及相關的檔案和行號。

你應該會得到一次點擊的完整路徑:

  1. 頁面(renderer.js)處理按鈕事件
  2. 橋接(preload.js)送出 notes:export 訊息
  3. 處理器(main.js)把帶有 id 和 title 的 notes.csv 寫進你的 Downloads 資料夾

恭喜。這就是逆向工程

你剛剛在一個不是你寫的 App 裡追蹤了一個功能,而且每一步都有證據

現在好玩的來了。你電腦上每個 Electron App 都是同樣的玩法,而且你知道它們住在哪:

  • Mac: /Applications/<App>.app/Contents/Resources/app.asar(對 App 按右鍵 → 顯示套件內容)
  • Windows: C:\Users\<you>\AppData\Local\Programs\<App>\resources\app.asar
  • Linux: 通常是 /opt/<App>/resources/app.asar

而且你可以直接在終端機分析它,不用啟動 App:

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

小提示: 在 Mac 上,按住 Option 對資料夾按右鍵,選「Copy as Pathname」。或直接把資料夾拖進終端機

codila - inline image

05. 為你想讀的東西加上對應的引擎

桌面 JavaScript App 不需要加任何東西。其他的就要加一個引擎

程式和遊戲:Ghidra(免費,NSA 出品)

你需要 Ghidra 12.1.x 和 JDK 21 或更新版本

macOS / Linux:

text
1export GHIDRA_INSTALL_DIR=/absolute/path/to/ghidra_12.1.4_PUBLIC
2export JAVA_HOME=/absolute/path/to/jdk-21
3npx -y rea-agents@latest doctor --provider ghidra --json
4npx rea-agents@latest setup

Windows PowerShell:

text
1$env:GHIDRA_INSTALL_DIR = "C:/tools/ghidra_12.1.4_PUBLIC"
2$env:JAVA_HOME = "C:/tools/jdk-21"
3npx -y rea-agents@latest doctor --provider ghidra --json
4npx rea-agents@latest setup

Windows 支援還在實驗階段,且僅限唯讀

然後就能看任何函式:

text
1npx -y rea-agents@latest function /absolute/path/to/program main --provider ghidra --json

程式和遊戲:Hopper(Mac/Linux,商業軟體但有 demo)

再跑一次 setup 就好。它會找到 Hopper 或問你要不要裝。在 Mac 上,第一次啟動選 demo mode 或你的授權

程式和遊戲:IDA(如果你已經買了)

已在 Windows 上透過現有的 IDA MCP 設定驗證過 Get started

Android apps: 完整的 JDK 17+ 和 jadx-headless-mcp 0.7.1 Android guide

text
1export REA_JADX_MCP_JAR=/absolute/path/jadx-headless-mcp-0.7.1-all.jar
2rea inspect-android-package /path/App.apk

網站: 任何 Chrome 家族瀏覽器

智能合約: Linux x64

保持更新(REA 幾乎每天都在推修復):

text
1rea update

或用 npx rea-agents@latest setup。想移除的話:rea uninstall

如果你的 agent 看不到 REA: 重啟它,然後再跑一次 doctor --client claude_code --json

https://x.com/lauriewired/status/2109018088872239310

codila - inline image

Part 3 - 大家已經重做了什麼

06. Adobe、Office、TradingView 和遊戲

這裡開始變瘋狂了

AI 不只是學會讀軟體。大家已經在重做整個產品了

  • Adobe

ArtCraft 重做了七款 Adobe App 作為免費開源替代品:Photoshop、Illustrator、Premiere、Lightroom、After Effects、InDesign 和 Acrobat。用 Rust 寫成,並靠 Claude Opus 5.5 幫忙

https://x.com/Pirat_Nation/status/2108437553615425881

還記得淨室嗎?就是這個。ArtCraft 稱這些為淨室重新實作,完全沒碰 Adobe 的原始碼。它們還在早期 alpha 階段,但它們真的存在,而且免費

  • Microsoft Office

接著他們盯上了 Office。WordCraft、GridCraft 和 DeckCraft:也就是 Word、Excel 和 PowerPoint

https://x.com/Pirat_Nation/status/2109358375209427301

  • TradingView

這個我最愛。把平台的行為摸透,用 Opus 5.5 轉成規格書,然後用自己的程式碼打造專屬的圖表引擎和回測系統

https://x.com/RohOnChain/status/2109347169316839434

說句公道話:自己做交易終端沒問題。免費用別人的付費指標就不行了。做你自己的

  • 遊戲

這是 AI 逆向工程最先爆發的地方

《超級瑪利歐陽光》的原生 PC 移植版:花了約 365 個 agent 小時和 17.3B tokens,同時用了 Claude 和 Codex Repo

https://x.com/chasemdev/status/2102957888477995067

PS1 遊戲 Tomba! 現在透過靜態重編譯器在 PC 上跑了。開發者以前完全沒經驗,用 Claude Code + Ghidra 搞了大概三週 Write-up

而在 REA 官方部落格上,有人用 AI agents 重做了一款東方 Project 遊戲:697 個函式、696 個完全吻合,約 12 天就能玩 The industrial revolution in reverse engineering

Kotaku 甚至報導了 Halo、GTA: Vice City 和 The Simpsons: Hit & Run 的瀏覽器版本,據說都歸功於 AI 輔助反編譯。這些是非官方的,很可能會被下架,而這正好就是上一章提到的那條界線 Kotaku

怎麼複製這些成果: 挑一個你在付費的工具或你擁有的遊戲,問 REA 某個功能是怎麼運作的,寫出規格書,然後做出你自己的版本。提示詞在 Step 10

codila - inline image

Part 4 - 每天都用上它

逆向工程最初是為了相容性、安全性和保存而發明的

但在日常生活中,我會這樣用它

07. 給新手

1. 「這個 App 在我手機上到底在幹嘛?」

拿任何 Android App 的 APK:你的券商、交易所、或是 Telegram 上那個「免費訊號」App。問它:

text
1對這個 APK 使用 REA。列出所有權限、所有分析或追蹤 SDK,以及這個 App 連線的所有網域。每個發現都要顯示對應的 class 和 method。

官方證明這招有用:REA 拆解了 Aegis 驗證器 App(3,077 個 classes),精確找出它產生 6 位數登入碼的方式,並重做了它。重做版通過了全部 133 個測試案例 Aegis case

2. 「這個檔案安全嗎?」

逆向工程就是大家抓惡意軟體的方式。當一個假的 113 GB「GTA 6 build」流傳時,有人拆解了那些檔案,發現它是假的而且塞滿惡意軟體

https://x.com/gamingskew/status/2091221918561317355

3. 「這個 token 是騙局嗎?」

大多數 memecoin 都不會公開原始碼。REA 能讀取原始合約 bytecode 並還原它的函式 EVM guide

text
1rea inspect-evm-interface ./runtime.hex hex --json

然後問:

text
1對這個合約 bytecode 使用 REA。列出所有能改變狀態的函式。標記任何看起來像 mint、blacklist、pause、fee change 或 owner-only transfer 的東西。標示哪些是確認的,哪些是推測的。

這裡的函式名稱是從 bytecode 猜出來的,所以看到紅旗請當作「要再深挖」。而且這個指令目前只能在 Linux x64 上跑

4. 「我想要那個付費功能」

別去破解它。重做它。問 REA 那個功能是怎麼運作的,然後讓 Claude 用公開資料和開源元件做出你自己的版本

codila - inline image

08. 給專業人士

REA 內建了引導式工作流程,但幾乎沒人知道。它們直接整合在 MCP server 裡 Guided prompts:

  • investigate_feature: 從發現功能一路追蹤到精確的函式
  • compare_application_versions: 比較 App 的兩個版本,看看更新到底改了什麼
  • verify_reconstruction: 用保存的證據核對你的重做版
  • trace_crash: 把崩潰連接到背後的程式碼路徑
  • audit_residual_unknowns: 列出還沒證實的部分
  • prepare_bounded_process_capture: 在實際執行前,規劃一個安全、受限的 runtime 實驗

專業循環就是 調查 → 規格 → 建構 → 驗證

text
1使用 REA 調查 [feature] 在 [app] 中是如何運作的。撰寫 SPEC.md:行為、輸入、輸出、邊界情況,不要複製程式碼。然後根據 SPEC.md 在 ./my-version 中建構它,根據觀察到的行為撰寫測試,並執行到全部通過為止。

這招能走多遠?看看官方 showcase:

  • DX-Ball(1996 年):REA 還原了 sound-pan 函式並用 C 重做。它通過了 3,205 個 original-x86 測試案例,並完美重現全部 63 個編譯位元組 DX-Ball
  • Notion: REA 追蹤了複製功能的運作方式,從頁面經過 IPC 橋接一直到系統剪貼簿 Notion

而東方 Project 重做案帶來的教訓,對認真想做這件事的人來說簡直是黃金:

  • 給 agent 明確的目標和驗收標準
  • 把筆記和檢查結果放進 git,這樣下一個 session 才能接續
  • 把 agent 的每個解釋都當成待驗證的假設
  • 測試你的測試。 曾經有一個壞掉的比對邏輯讓錯誤的函式過關了

資安圈已經在大規模跑這套了。一位研究員用 8 個 MCP servers、300+ 工具、Ghidra、radare2 和 Frida 搭了一條 AI pipeline,並表示光靠 bug bounty 就回本了:

https://x.com/cr3ghost/status/2098033761317446083

錢在哪裡: 資安研究和 bug bounty、把舊軟體搬上新系統、讓不同工具互相溝通,以及幫企業搞懂他們弄丟原始碼的軟體

codila - inline image

09. REA 做不到什麼

我希望你信任這篇文章,所以以下是真實的限制

  • 它碰不到伺服器。 它只能讀你機器上的東西。在公司伺服器上跑的程式碼從來沒送到你手上。它不能駭銀行或轉帳 Why it can't hack your bank
  • 反編譯出來的程式碼不是原始碼。 它是重建品。這就是為什麼驗證步驟很重要
  • 硬骨頭依然難啃。 被 stripped 的 C++ 二進位檔比 Unity .NET 遊戲難搞得多
  • 你的 agent 可能會拒絕。 某些韌體和主機目標會觸發模型的安全規則
  • 商業工具需要正版授權。 REA 不會給你 IDA、Hopper 或 JEB 的授權,也不允許用破解版
codila - inline image

10. 提示詞懶人包

存起來。只要裝好 REA,這些提示詞在 Claude Code 裡都能直接用

安裝:

text
1使用 npx rea-agents@latest setup 安裝 REA 並將它連接到這個 coding agent。先給我安裝計畫讓我確認,然後驗證安裝結果。

你的第一次測試

text
1將 https://rea.tools/examples/notes-example.zip 下載到新的 example 資料夾並解壓縮。使用 REA 找出我點擊 Export notes 時發生了什麼事。

萬用款:

text
1搞懂 Notes app 裡的搜尋功能是如何運作的,給我看證據,並為我的專案做一個類似的功能。

即時功能:

text
1弄清楚 Discord 是如何即時顯示誰正在打字的,給我看證據,並為我的專案做一個類似的東西。

小算盤:

text
1對這個 APK 使用 REA。列出所有權限、所有分析或追蹤 SDK,以及這個 App 連線的所有網域。每個發現都要顯示對應的 class 和 method。
text
1用 REA 檢查 Windows 計算機的 % 按鈕。還原 + 和 × 之後的規則,然後做一個同時用到這兩種運算的小型計算機。

小遊戲:

text
1檢查恐龍小遊戲,並做出一個可以調整速度的版本。

重現一款遊戲:

text
1從執行檔重現一款遊戲,並與原版進行比對測試。

複製一個網站:

text
1複製 rea.tools 網站。

手機 App 審查:

text
1用 REA 分析這個 APK。列出所有權限、所有分析或追蹤 SDK,以及 App 連線的所有網域。每一項發現都要標出對應的 class 和 method。

Token 檢查:

text
1用 REA 分析這份合約 bytecode。列出所有能改變狀態的函式。標記任何看起來像 mint、blacklist、pause、fee change 或 owner-only transfer 的地方。註明哪些是已確認的,哪些是推測的。

專業級重建:

text
1用 REA 研究 [app] 裡的 [feature] 是怎麼運作的。寫一份 SPEC.md:行為、輸入、輸出、邊界情況,不要直接複製程式碼。接著根據 SPEC.md 在 ./my-version 裡實作出來,依照觀察到的行為撰寫測試,並反覆執行直到全部通過。

更新改了什麼:

text
1用 REA 的 compare_application_versions workflow 比對 [app] 的 [old version] 和 [new version]。告訴我到底改了什麼,並附上證據。

你的「一晚搞定」行動清單

別只是收藏起來。今晚就動手:

  1. 安裝 REA,用 setup prompt 完成設定(5 分鐘)
  2. 練習官方 Notes 範例(2 分鐘)
  3. 挑一個你每天都在用的電腦軟體
  4. 問一個問題,針對你最喜歡的一項功能
  5. 拿到規格:它做了什麼、一步步的流程,還有證據
  6. 做出你的版本,根據規格在全新資料夾裡實作

就這樣。只要一個晚上,你看待軟體的方式將徹底改變

典範轉移

以前「閉源」代表「你永遠不會知道」→ 現在它的意思是「拿出證據給我看」

https://x.com/karpathy/status/2109361546505966046

REA 不是駭客工具

它是用來閱讀「不是你寫的軟體」的工具

真正的 alpha 不在那 100K stars,也不是那些瘋傳的截圖

真正的 alpha 是:別人 App 裡讓你羨慕的每一項功能,現在你都能看懂了:

  • 讓 REA 找出功能和證據
  • 讓 Claude 寫出規格並做出你的版本
  • 讓測試證明它真的跑得動

多數人會繼續花錢買那些他們一下午就能搞懂的功能

而少數學會閱讀軟體的人,想做出什麼都行——而且完全免費。

下次動手開發前,先把這篇教學存進書籤 →

@0xCodila

一鍵儲存

使用 YouMind AI 深度閱讀爆款文章

保存原文、追問細節、總結觀點,並在一個 AI 工作空間裡把爆款文章沉澱成可複用筆記。

了解 YouMind
寫給創作者

把你的 Markdown 變成乾淨的 𝕏 文章

圖片上傳、表格、程式碼區塊,往 𝕏 上手動重排太痛苦。YouMind 把整篇 Markdown 一鍵轉成乾淨、可直接發佈的 𝕏 文章草稿。

試試 Markdown 轉 𝕏

更多可拆解樣本

近期爆款文章

探索更多爆款文章