REA MCP
☰
ZH-TW
● — 人在線上 · 瀏覽 — 次
贊助提交案例
教學資源 · 發布者 edisonZ

這兩天 timeline 上都是 REA,一堆人驚呼「閉源商業軟體要被 AI 扒得連底褲都不剩了」。 翻了下它的 repo、MCP 契約和幾個 case,底層邏

一篇分析 REA(Reverse Engineer Anything)架構的 X 長文,拆解其 MCP 分層設計、Evidence ID 證據迴圈機制,並以 Notion 剪貼簿 IPC 呼叫鏈為案例,最後討論其能力邊界(無法穿透後端、依賴本機 IDA/Ghidra、遇 VMP 加殼無效)。

e
edisonZ@ai_edisonZ

1/

这两天 timeline 上都是 REA,一堆人惊呼“闭源商业软件要被 AI 扒得连底裤都不剩了”。 翻了下它的 repo、MCP 契约和几个 case,底层逻辑其实非常直接,甚至没什么黑魔法。 它没有发明任何新的反编译模型,甚至连一行汇编都没自己解析过。 但为什么它能让 Claude Code 在几分钟内摸清 Notion 的跨进程通信,还能写出 clean-room 复现? 真正的反差和价值在这里。 1. 痛点:为什么以前直接把反编译代码喂给 AI 根本行不通? 大部分人之前都试过把逆向出来的汇编或者混淆 JS 塞给大模型。 结果基本是灾难:几千行剥离了符号名、上下文破碎的代码丢进去,大模型连猜带蒙,80% 的逻辑解释全靠脑补幻觉。 REA 换了个思路:不让大模型在最外层猜,而是做了一个本地运行的 MCP Server,把整个分析链路分层剥离: - 决策层(Claude Code / Codex):理解目标、提假设、定方向,拿到证据后写复现代码。 - 调度层(REA MCP):统一各端逆向接口,输出带 Evidence ID 的结构化证据包。 - 执行引擎(本地工具链):原生程序调 IDA / Ghidra / Hopper 提取汇编与交叉引用;Electron / 前端直接做 AST 静态分析与 Source Map 还原;Android 调 JADX。 2. 核心机制:用 Evidence Loop 压死大模型的幻觉 逆向工程最消耗心力的,从来不是看不懂某段代码,而是在反编译窗口里不断手动追踪交叉引用(Xrefs)、记笔记、拼碎片。 REA 把这个过程变成了 Agent 的“查证循环”: Agent 提出一个假设,工具返回包含精确字节偏移、调用拓扑的证据切片。更关键的是,如果某个静态分析调用图不完整,工具会显式打上“覆盖范围受限”的标记。 这意味着大模型不会把“静态范围内没查到调用”误判为“逻辑上不存在调用”,必须拿着上一轮确凿的 Evidence ID 才能追查下一层,把分析范围逐步收敛。 3. 具体 case:Notion 剪贴板跨进程调用链 看官方追踪 Notion 剪贴板的案例,过程其实非常清晰: 要搞清楚“Notion 网页端点击复制,内容如何写入系统剪贴板”: 1. 扫描前端暴露的 API,定位到 preload 包装函数; 2. 抓取到唯一的 IPC 通道名 notion:clipboard:write; 3. 顺着通道名在主进程代码里定位监听器和权限校验; 4. 最终串出调用 Electron 原生 API 的完整链路。 四步操作,AI 没有猜测任何代码实现,全靠 IPC 通道名这个事实锚点,把跨进程的调用端点严丝合缝拼齐。 4. 别神化它:3 个无法逾越的物理边界 看清它的价值,更要看清它的边界: 1. 零后端穿透力:只能分析本地客户端内的代码。SaaS 产品核心逻辑全在云端服务器,这套工具碰不到分毫。 2. 原生分析高度依赖本地环境:逆向 C/Rust/Go 原生程序,前提是你本机配好了商业版 IDA 或 Hopper / Ghidra,它自己不带反编译能力。 3. 强加固依然是死穴:遇到 VMP 加壳、高强度控制流平坦化混淆,传统工具啃不动,REA 同样抓瞎。 4. 产出的是机制与伪代码,无法凭空还原出 1:1 的原始工程源码。 5. 工程师视角的认知升维 REA 释放出的信号非常明确: 当 AST 静态分析、符号提取和交叉引用追踪被打包成 Agent 的基础工具后,分析客户端的门槛已经从“几天的人力消耗”缩减到“几轮对话的 Token 成本”。 纯靠客户端代码逻辑、前端打包和简单混淆构筑的所谓“技术壁垒”,防守收益正在趋近于零。 客户端代码正在变成全透明的白盒。软件真正的护城河,已经彻底转移到了云端私有数据飞轮、实时业务 Context,以及对用户真实场景的理解深度上。

已翻譯

關於這個案例

這兩天 timeline 上都是 REA,一堆人驚呼「閉源商業軟體要被 AI 扒得連底褲都不剩了」。

翻了下它的 repo、MCP 契約和幾個 case,底層邏輯其實非常直接,甚至沒什麼黑魔法。 它沒有發明任何新的反編譯模型,甚至連一行組譯都沒自己解析過。

但為什麼它能讓 Claude Code 在幾分鐘內摸清 Notion 的跨行程通訊,還能寫出 clean-room 復現? 真正的反差和價值在這裡。

  1. 痛點:為什麼以前直接把反編譯程式碼餵給 AI 根本行不通?

大部分人之前都試過把逆向出來的組譯或者混淆 JS 塞給大模型。 結果基本是災難:幾千行剝離了符號名、上下文破碎的程式碼丟進去,大模型連猜帶蒙,80% 的邏輯解釋全靠腦補幻覺。

REA 換了個思路:不讓大模型在最外層猜,而是做了一個本地執行的 MCP Server,把整個分析鏈路分層剝離:

  • 決策層(Claude Code / Codex):理解目標、提假設、定方向,拿到證據後寫復現程式碼。
  • 排程層(REA MCP):統一各端逆向介面,輸出帶 Evidence ID 的結構化證據包。
  • 執行引擎(本地工具鏈):原生程式調 IDA / Ghidra / Hopper 提取組譯與交叉引用;Electron / 前端直接做 AST 靜態分析與 Source Map 還原;Android 調 JADX。
  1. 核心機制:用 Evidence Loop 壓死大模型的幻覺

逆向工程最消耗心力的,從來不是看不懂某段程式碼,而是在反編譯視窗裡不斷手動追蹤交叉引用(Xrefs)、記筆記、拼碎片。

REA 把這個過程變成了 Agent 的「查證迴圈」: Agent 提出一個假設,工具返回包含精確位元組偏移、呼叫拓撲的證據切片。更關鍵的是,如果某個靜態分析呼叫圖不完整,工具會顯式打上「覆蓋範圍受限」的標記。

這意味著大模型不會把「靜態範圍內沒查到呼叫」誤判為「邏輯上不存在呼叫」,必須拿著上一輪確鑿的 Evidence ID 才能追查下一層,把分析範圍逐步收斂。

  1. 具體 case:Notion 剪貼簿跨行程呼叫鏈

看官方追蹤 Notion 剪貼簿的案例,過程其實非常清晰: 要搞清楚「Notion 網頁端點擊複製,內容如何寫入系統剪貼簿」:

  1. 掃描前端暴露的 API,定位到 preload 包裝函式;
  2. 抓取到唯一的 IPC 通道名 notion:clipboard:write;
  3. 順著通道名在主行程程式碼裡定位監聽器和權限校驗;
  4. 最終串出呼叫 Electron 原生 API 的完整鏈路。

四步操作,AI 沒有猜測任何程式碼實作,全靠 IPC 通道名這個事實錨點,把跨行程的呼叫端點嚴絲合縫拼齊。

  1. 別神化它:3 個無法逾越的物理邊界

看清它的價值,更要看清它的邊界:

  1. 零後端穿透力:只能分析本地客戶端內的程式碼。SaaS 產品核心邏輯全在雲端伺服器,這套工具碰不到分毫。

  2. 原生分析高度依賴本地環境:逆向 C/Rust/Go 原生程式,前提是你本機配好了商業版 IDA 或 Hopper / Ghidra,它自己不帶反編譯能力。

  3. 強加固依然是死穴:遇到 VMP 加殼、高強度控制流平坦化混淆,傳統工具啃不動,REA 同樣抓瞎。

  4. 產出的是機制與虛擬碼,無法憑空還原出 1:1 的原始工程原始碼。

  5. 工程師視角的認知升維

REA 釋放出的訊號非常明確: 當 AST 靜態分析、符號提取和交叉引用追蹤被打包成 Agent 的基礎工具後,分析客戶端的門檻已經從「幾天的人力消耗」縮減到「幾輪對話的 Token 成本」。

純靠客戶端程式碼邏輯、前端打包和簡單混淆構築的所謂「技術壁壘」,防守收益正在趨近於零。

客戶端程式碼正在變成全透明的白盒。軟體真正的護城河,已經徹底轉移到了雲端私有資料飛輪、即時業務 Context,以及對使用者真實場景的理解深度上。

安裝設定

安裝方式請查看原始來源。

原文 / README

这两天 timeline 上都是 REA,一堆人惊呼“闭源商业软件要被 AI 扒得连底裤都不剩了”。

翻了下它的 repo、MCP 契约和几个 case,底层逻辑其实非常直接,甚至没什么黑魔法。 它没有发明任何新的反编译模型,甚至连一行汇编都没自己解析过。

但为什么它能让 Claude Code 在几分钟内摸清 Notion 的跨进程通信,还能写出 clean-room 复现? 真正的反差和价值在这里。

  1. 痛点:为什么以前直接把反编译代码喂给 AI 根本行不通?

大部分人之前都试过把逆向出来的汇编或者混淆 JS 塞给大模型。 结果基本是灾难:几千行剥离了符号名、上下文破碎的代码丢进去,大模型连猜带蒙,80% 的逻辑解释全靠脑补幻觉。

REA 换了个思路:不让大模型在最外层猜,而是做了一个本地运行的 MCP Server,把整个分析链路分层剥离:

  • 决策层(Claude Code / Codex):理解目标、提假设、定方向,拿到证据后写复现代码。
  • 调度层(REA MCP):统一各端逆向接口,输出带 Evidence ID 的结构化证据包。
  • 执行引擎(本地工具链):原生程序调 IDA / Ghidra / Hopper 提取汇编与交叉引用;Electron / 前端直接做 AST 静态分析与 Source Map 还原;Android 调 JADX。
  1. 核心机制:用 Evidence Loop 压死大模型的幻觉

逆向工程最消耗心力的,从来不是看不懂某段代码,而是在反编译窗口里不断手动追踪交叉引用(Xrefs)、记笔记、拼碎片。

REA 把这个过程变成了 Agent 的“查证循环”: Agent 提出一个假设,工具返回包含精确字节偏移、调用拓扑的证据切片。更关键的是,如果某个静态分析调用图不完整,工具会显式打上“覆盖范围受限”的标记。

这意味着大模型不会把“静态范围内没查到调用”误判为“逻辑上不存在调用”,必须拿着上一轮确凿的 Evidence ID 才能追查下一层,把分析范围逐步收敛。

  1. 具体 case:Notion 剪贴板跨进程调用链

看官方追踪 Notion 剪贴板的案例,过程其实非常清晰: 要搞清楚“Notion 网页端点击复制,内容如何写入系统剪贴板”:

  1. 扫描前端暴露的 API,定位到 preload 包装函数;
  2. 抓取到唯一的 IPC 通道名 notion:clipboard:write;
  3. 顺着通道名在主进程代码里定位监听器和权限校验;
  4. 最终串出调用 Electron 原生 API 的完整链路。

四步操作,AI 没有猜测任何代码实现,全靠 IPC 通道名这个事实锚点,把跨进程的调用端点严丝合缝拼齐。

  1. 别神化它:3 个无法逾越的物理边界

看清它的价值,更要看清它的边界:

  1. 零后端穿透力:只能分析本地客户端内的代码。SaaS 产品核心逻辑全在云端服务器,这套工具碰不到分毫。

  2. 原生分析高度依赖本地环境:逆向 C/Rust/Go 原生程序,前提是你本机配好了商业版 IDA 或 Hopper / Ghidra,它自己不带反编译能力。

  3. 强加固依然是死穴:遇到 VMP 加壳、高强度控制流平坦化混淆,传统工具啃不动,REA 同样抓瞎。

  4. 产出的是机制与伪代码,无法凭空还原出 1:1 的原始工程源码。

  5. 工程师视角的认知升维

REA 释放出的信号非常明确: 当 AST 静态分析、符号提取和交叉引用追踪被打包成 Agent 的基础工具后,分析客户端的门槛已经从“几天的人力消耗”缩减到“几轮对话的 Token 成本”。

纯靠客户端代码逻辑、前端打包和简单混淆构筑的所谓“技术壁垒”,防守收益正在趋近于零。

客户端代码正在变成全透明的白盒。软件真正的护城河,已经彻底转移到了云端私有数据飞轮、实时业务 Context,以及对用户真实场景的理解深度上。

更多類似作品