REA 是目前互联网上最危险的东西,而 99% 的人根本不知道该怎么用它
你每个月都在为那些功能早就躺在你电脑里的 App 付费
动效设计软件、Office、TradingView、你的笔记应用等等——它们说到底只是你硬盘上的一堆代码
而所有公司都在赌一件事:你永远不会去扒开看里面
现在,一个开源 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、游戏
- 普通人和专业开发者每天都是怎么用的
- 一套可以直接复制粘贴的 prompt
所以先收藏起来,打开终端,跟着一步步来
第一部分 - 理解
01. 什么是逆向工程(以及什么是 REA)
逆向工程其实很简单
你看着一个做好的 App,在没有源码的情况下,搞清楚它内部是怎么运作的
就这么简单。你想彻底搞懂某个功能,好到能解释它、修改它,或者自己写一个版本出来
REA(Reverse Engineer Anything)做的就是这件事,而且脏活累活都由你的 AI Agent 来干。官方 README 用一句话就概括了:
“看到一个喜欢的功能。搞懂它是怎么工作的,一直深入到二进制层面。”
从技术角度看,它是这样的:
- 一个 MCP server + CLI,可以接入 Claude Code、Codex、Cursor、Gemini CLI 和其他 Agents
- 它在本地运行。你的应用永远不会被上传到任何地方
- 每一个结论都带有证据:函数、文件、调用关系,以及还有哪些是未知的
你用大白话提问。REA 检查程序。你的 Agent 负责解释、构建你的版本并测试 REA repo

最好的例子就在官网上
比如:为什么你在 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 上拿到了 10 万+ star
https://x.com/celineodier/status/2109281121749856655
02. REA 能读什么
这是官方列表,我翻译成了人话 What you can analyze
- 基于 JavaScript/Electron 的桌面应用(Notion、Slack、Discord、Obsidian 等等)。不需要额外安装任何东西
- 网站:页面结构、脚本、网络请求。你需要一个 Chrome 内核浏览器
- 保存的网络流量(浏览器导出的 HAR 文件)
- 程序和游戏(.exe、Mac 应用、老 DOS 游戏):伪代码、汇编、字符串、调用关系。需要 Ghidra、Hopper 或 IDA
- .NET 应用:无需额外工具
- Android 应用(APK):需要 JDK 和 JADX
- 智能合约字节码:Linux x64
- 固件、WASM、Go 二进制文件等等
下面这部分几乎没人提:
很多 Unity 游戏的游戏逻辑是以 .NET 代码形式发布的。而 REA 读 .NET 不需要任何额外工具
这就是为什么有人能在不到 30 分钟内,把自己买的一款 Steam 游戏在 Unity 里打开:
https://x.com/AIWarper/status/2109060856466264566
所以现在 Agent 把整个活儿都替你干了

03. 等等……这不就是偷吗?
我们来聊聊房间里的大象!
REA 刚爆火的时候,X 上一半人在喊“盗版”,另一半人在喊“软件行业完了”
Chamath 甚至在 All-In 播客上说,有人“反编译”了整个 Adobe 全家桶
https://x.com/firesidealpha/status/2108761607857992104
搞笑的地方来了。那条视频被贴上了 Community Note
那些 Adobe 替代品并不是反编译出来的。它们的开发者称之为
净室重新实现(clean-room reimplementations)
这一条注释就把整个法律游戏解释清楚了。所以我来给你讲讲什么是净室,因为一旦你懂了,一切就全通了
净室是一个有 40 年历史的老套路
第一步: 一个团队研究原版,写下它做了什么。不是代码,而是行为
第二步: 另一个完全不同的团队,只根据这份描述来开发新产品。他们永远看不到原始代码
最终结果功能一样,但包含的代码零来自原版 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
研究原版。发布你自己的。 这就是本文所有内容的铁律

第二部分 · 安装
03. 5 分钟安装 REA
按顺序来 Get started
第一步。检查 Node.js
打开终端,运行:
1node -v2npm -v
你需要 Node 22.19+、24.11+ 或 26+。不支持 23 和 25 版本
如果版本太旧或者提示“command not found”,安装 Node 24 LTS:
macOS(使用 Homebrew):
1brew install node
关掉终端,重新打开,然后:
1fnm install 242fnm default 24
Windows(PowerShell):
1winget install OpenJS.NodeJS.LTS
如果提示确认就输入 Y。关掉 PowerShell,重新打开,运行 node -v
如果 Windows 之后提示“running scripts is disabled”,运行一次这个:
1Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
第二步。准备一个 Agent
我用的是 Claude Code。它需要付费的 Claude 计划。设置页面:code.claude.com/docs/en/setup
Codex、Cursor、Gemini CLI、OpenCode 等也都可以
第三步。运行 REA 设置
最简单的方法: 把这段粘贴进 Claude Code,让它搞定一切:
1使用 npx rea-agents@latest setup 安装 REA 并将其连接到这个 coding agent。给我看一下设置方案等我批准,然后验证安装。
或者你自己跑:
1npx rea-agents@latest setup
接下来会发生什么:
- npm 会询问是否下载包。选 yes
- REA 会显示一个 Agent 列表。选 Claude Code
- REA 会列出它要做的每一项改动。你不批准,什么都不会变。 它还会备份你当前的配置
- 它会添加 MCP 连接以及对应的调查技能
设置过程还会推荐 Hopper,这是一个单独用来读取程序的引擎。在 Mac 上它会下载官方安装包并打开,你选 demo 模式就行。这是可选的,你现在也可以说 no
第四步。重启你的 Agent
- 终端里的 Claude Code:退出并开启新会话
- 桌面应用(Claude Desktop、Cursor):用 ⌘Q 彻底退出。光关窗口没用
第五步。检查
1npx -y rea-agents@latest doctor --client claude_code --json
doctor 只做检查,从不改东西。如果有问题,它会告诉你下一步该干嘛
想永久使用简短的 rea 命令:
你的结果: Claude Code 现在有 REA 工具了。问它“你有哪些 REA 工具?”,它就会列出来
1npm install --global rea-agents2rea --help

04. 2 分钟完成你的第一次逆向工程
别一上来就搞大的。REA 为此准备了一个官方练习应用 First investigation
这是一个很小的“Notes”应用,带一个 Export notes 按钮。你的任务:找出导出到底去了哪里
把这段粘贴进 Claude Code:
1把 https://rea.tools/examples/notes-example.zip 下载到一个新的 example 文件夹并解压。用 REA 找出我点击 Export notes 时会发生什么。
然后问:
1显示 notes.csv 写在了哪里,包含哪些字段,以及相关的文件和行号。
你应该得到的结果,就是一次点击的完整路径:
- 页面(renderer.js)处理按钮点击
- 桥接层(preload.js)发送一条 notes:export 消息
- 处理器(main.js)把包含 id 和 title 的 notes.csv 写入你的 Downloads 文件夹
恭喜。这就是逆向工程
你刚刚在一个不是你写的 App 里追踪了一个功能,而且每一步都有证据
现在好玩的部分来了。你电脑上的每个 Electron 应用原理都一样,而且你知道它藏在哪:
- Mac: /Applications/<App>.app/Contents/Resources/app.asar(右键应用 → 显示包内容)
- Windows: C:\Users\<you>\AppData\Local\Programs\<App>\resources\app.asar
- Linux: 通常是 /opt/<App>/resources/app.asar
而且你可以直接在终端里分析它,不用运行这个应用:
1npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json
提示: 在 Mac 上,按住 Option 键右键点击文件夹,选择“Copy as Pathname”。或者直接把文件夹拖进终端

05. 为你要读的内容添加合适的引擎
桌面 JavaScript 应用不需要别的。其他的都需要加一个引擎
程序和游戏:Ghidra(免费,NSA 出品)
你需要 Ghidra 12.1.x 和 JDK 21 或更新版本
macOS / Linux:
1export GHIDRA_INSTALL_DIR=/absolute/path/to/ghidra_12.1.4_PUBLIC2export JAVA_HOME=/absolute/path/to/jdk-213npx -y rea-agents@latest doctor --provider ghidra --json4npx rea-agents@latest setup
Windows PowerShell:
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 --json4npx rea-agents@latest setup
Windows 支持目前还是实验性的,且只读
然后查看任意函数:
1npx -y rea-agents@latest function /absolute/path/to/program main --provider ghidra --json
程序和游戏:Hopper(Mac/Linux,商业软件但有 demo)
再跑一次 setup 就行。它会找到 Hopper 或者提示你安装。在 Mac 上,首次启动选 demo 模式或你的 license
程序和游戏:IDA(如果你已经有了)
已在 Windows 上通过现有的 IDA MCP 设置验证过 Get started
Android 应用: 完整的 JDK 17+ 和 jadx-headless-mcp 0.7.1 Android guide
1export REA_JADX_MCP_JAR=/absolute/path/jadx-headless-mcp-0.7.1-all.jar2rea inspect-android-package /path/App.apk
网站: 任意 Chrome 内核浏览器
智能合约: Linux x64
保持更新(REA 几乎每天都在发修复):
1rea update
或者 npx rea-agents@latest setup。想卸载:rea uninstall
如果你的 Agent 看不到 REA: 重启它,然后再跑一次 doctor --client claude_code --json
https://x.com/lauriewired/status/2109018088872239310

第三部分 - 大家已经重构了什么
06. Adobe、Office、TradingView 和游戏
这里开始就疯狂了
AI 不只是学会了读软件。人们已经在重构整个产品了
- Adobe
ArtCraft 把七款 Adobe 应用重构成了免费开源的替代品: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 把它转成 spec,然后用你自己的代码写出自己的图表引擎和回测系统
https://x.com/RohOnChain/status/2109347169316839434
说句实话:自己做终端没问题。白嫖别人的付费指标就不对了。做你自己的
- 游戏
这是 AI 逆向工程最先爆发的地方
《超级马力欧阳光》的原生 PC 移植版:大约 365 个 Agent 小时和 173 亿 token,同时用了 Claude 和 Codex Repo
https://x.com/chasemdev/status/2102957888477995067
PS1 游戏 Tomba! 现在通过静态重编译器在 PC 上跑起来了。作者之前毫无经验,用 Claude Code + Ghidra 做了大概三周 Write-up
在 REA 官方博客上,有人用 AI Agents 重构了一款东方游戏:697 个函数,696 个完全匹配,大约 12 天可玩 The industrial revolution in reverse engineering
Kotaku 甚至报道了 Halo、GTA: Vice City 和 The Simpsons: Hit & Run 的浏览器版本,据说是靠 AI 辅助反编译做出来的。这些都是非官方的,很可能被下架,而这正好踩中了上一章说的那条线 Kotaku
怎么复刻这些操作: 挑一个你付费的工具或者你拥有的游戏,问 REA 某个功能是怎么工作的,写出 spec,然后做你自己的版本。prompt 在第十步

第四部分 - 每天都用起来
逆向工程最初是为了兼容性、安全性和保存而发明的
但在日常生活中,我会这么用它
07. 给新手
1. “这个 App 到底在我手机上干嘛?”
拿任意 Android 应用的 APK:你的券商、交易所、Telegram 上那个“免费信号”App。问:
1对这个 APK 使用 REA。列出所有权限、所有分析或追踪 SDK,以及这个 App 通信的所有域名。对每个发现都要显示类和方法。
官方证明这招管用:REA 拆解了 Aegis 验证器应用(3,077 个类),精确找到了它生成 6 位登录码的方式,并重构了它。重构版本通过了全部 133 个测试用例 Aegis case
2. “这个文件安全吗?”
抓恶意软件靠的就是逆向工程。当一个假的 113 GB“GTA 6 build”流传时,有人拆开文件发现它是假的,而且塞满了恶意软件
https://x.com/gamingskew/status/2091221918561317355
3. “这个代币是骗局吗?”
大多数 memecoin 不公开源码。REA 能直接读原始合约字节码并还原出它的函数 EVM guide
1rea inspect-evm-interface ./runtime.hex hex --json
然后问:
1对这个合约字节码使用 REA。列出所有能改变状态的函数。标记任何看起来像 mint、blacklist、pause、fee change 或 owner-only transfer 的东西。标明哪些是确认的,哪些是推断的。
这里的函数名是从字节码猜出来的,所以看到红旗就当是“需要深挖”。而且这条命令目前只能在 Linux x64 上跑
4. “我想要那个付费功能”
别去破解。去重构。问 REA 这个功能是怎么工作的,然后让 Claude 用公开数据和开源组件搭出你自己的版本

08. 给专业人士
REA 自带了引导式工作流,几乎没人知道。它们内置在 MCP server 里 Guided prompts:
- investigate_feature: 从发现一路追踪到具体函数
- compare_application_versions: 对比应用的两个版本,看看更新到底改了什么
- verify_reconstruction: 用保存的证据校验你的重构
- trace_crash: 把崩溃和背后的代码路径连起来
- audit_residual_unknowns: 列出还没证实的部分
- prepare_bounded_process_capture: 在运行任何东西之前,规划一个安全、受限的运行时实验
专业循环就是:调查 → spec → 构建 → 验证
1用 REA 调查 [feature] 在 [app] 中是如何工作的。写 SPEC.md:行为、输入、输出、边界情况,不要复制代码。然后根据 SPEC.md 在 ./my-version 中构建它,根据观察到的行为写测试,并运行直到通过。
这能做到什么程度,看看官方 showcase:
- DX-Ball(1996 年):REA 还原了声音平移函数并用 C 重构。它通过了 3,205 个原始 x86 测试用例,并复现了全部 63 个编译字节 DX-Ball
- Notion: REA 追踪了复制功能的完整路径,从页面经过 IPC 桥接到系统剪贴板 Notion
对于认真做这件事的人来说,东方重构项目带来的经验简直是金子:
- 给 Agent 明确的目标和明确的验收标准
- 把笔记和检查点存进 git,这样下次会话能接着干
- 把 Agent 的每一次解释都当成待验证的假设
- 测试你的测试。 曾经有一个坏掉的比较逻辑让错误的函数蒙混过关了
安全圈的人已经在大规模跑这套流程了。一位研究员搭了一条包含 8 个 MCP server、300+ 工具、Ghidra、radare2 和 Frida 的 AI pipeline,他说靠 bug bounty 就已经回本了:
https://x.com/cr3ghost/status/2098033761317446083
钱在哪里: 安全研究和 bug bounty、把老软件迁移到新系统、让各种工具互相通信,以及帮公司搞懂那些丢了源码的软件

09. REA 做不到什么
我希望你信任这篇文章,所以这里是它真实的局限
- 它碰不到服务器。 它只读你机器上的东西。跑在公司服务器上的代码从来没发给你过。它黑不了银行,也转不了钱 Why it can't hack your bank
- 反编译出来的代码不是原始源码。 它是一种重建。这就是为什么验证步骤很重要
- 硬骨头依然难啃。 去符号的 C++ 二进制比 Unity .NET 游戏难搞得多
- 你的 Agent 可能会拒绝。 某些固件和主机目标会触发模型的安全规则
- 商业工具需要真 license。 REA 不会给你 IDA、Hopper 或 JEB 的 license,也不允许用破解版

10. Prompt 合集
存好。装完 REA 后,每条 prompt 都能在 Claude Code 里直接用
设置:
1使用 npx rea-agents@latest setup 安装 REA 并将其连接到这个 coding agent。给我看一下设置方案等我批准,然后验证安装。
你的第一次测试
1把 https://rea.tools/examples/notes-example.zip 下载到一个新的 example 文件夹并解压。用 REA 找出我点击 Export notes 时会发生什么。
万能版:
1搞懂 Notes 应用里搜索是怎么工作的,给我看证据,然后为我的项目做一个类似的功能。
实时功能:
1搞清楚 Discord 是怎么实时显示谁正在打字的,给我看证据,然后为我的项目做一个类似的。
计算器:
1对这个 APK 使用 REA。列出所有权限、所有分析或追踪 SDK,以及这个 App 通信的所有域名。对每个发现都要显示类和方法。
1用 REA 检查 Windows 计算器的 % 按钮。还原它在 + 和 × 之后的运算规则,然后做一个同时用到这两条规则的小计算器。
小游戏:
1研究一下恐龙小游戏,做一个速度可调的版本。
还原一款游戏:
1从可执行文件里还原一款游戏,并和原版对比测试。
克隆一个网站:
1克隆 rea.tools 网站。
手机 App 审计:
1用 REA 分析这个 APK。列出所有权限、所有数据分析或追踪 SDK,以及 App 通信过的所有域名。每一项发现都要标明对应的类和方法。
Token 检查:
1用 REA 分析这份合约字节码。列出所有能改变状态的函数。标记任何看起来像 mint(铸造)、blacklist(黑名单)、pause(暂停)、fee change(手续费变更)或 owner-only transfer(仅所有者转账)的逻辑。分清哪些是确认的,哪些是推测的。
专业级重构:
1用 REA 研究 [app] 里的 [feature] 是怎么实现的。写一份 SPEC.md:行为、输入、输出、边界情况,不要复制代码。然后根据 SPEC.md 在 ./my-version 里把它做出来,根据观察到的行为写测试,一直跑到全部通过为止。
更新里改了什么:
1对 [app] 的 [old version] 和 [new version] 使用 REA 的 compare_application_versions 工作流。告诉我到底改了什么,并附上证据。
你的「一晚通关」计划
别光收藏。今晚就动手:
- 用 setup prompt 安装 REA(5 分钟)
- 拿官方的 Notes 示例练手(2 分钟)
- 在你电脑上挑一个每天都在用的 App
- 针对你喜欢的某个功能提一个问题
- 拿到规格说明:它具体做了什么,一步步讲清楚,还要有证据
- 在新文件夹里,照着这份规格说明做出你自己的版本
就这么简单。只要一个晚上,你看待软件的方式就会彻底改变
范式转变
闭源以前意味着「你永远不可能知道」→ 现在意味着「把证据拿出来给我看」
https://x.com/karpathy/status/2109361546505966046
REA 不是黑客工具
它是用来阅读那些不是你写的软件的工具
真正的 alpha 机会,不是那 100K stars,也不是刷屏的截图
真正的 alpha 在于:别人 App 里让你眼红的每一个功能,现在你都能看懂了:
- 让 REA 找出功能和证据
- 让 Claude 写出规格说明并做出你的版本
- 让测试证明它能跑通
大多数人还会继续花钱买那些他们花一个下午就能搞懂的功能
而少数学会阅读软件的人,想做什么就能做什么——而且完全免费。
下次动手开发前,先把这篇教程收藏起来 →





