夜雨聆风学习资料网

ARTICLE · 1172645

软件行业完蛋?AI 现在能抄任何软件~,闭源护城河正在崩塌~~~

软件行业完蛋?AI 现在能抄任何软件~,闭源护城河正在崩塌~~~
昨天分享了 Adobe 的开源全家桶:Adobe 全家桶,被 AI 一口气开源复刻了!7 款软件,全部免费~~~

虽然目前这些开源软件还不够完善,距离真正替代 Adobe 还有一段距离,但有一点越来越明显:AI 正在大幅降低软件开发的门槛,这趋势恐已经不可逆了。

毕竟,Adobe 正版全家桶一年就要大几千块钱,长期用下来费用可不小,现在 AI 连 Photoshop、Illustrator、Premiere Pro 这类专业软件都开始复刻了,功能可能还差点意思,但架不住免费啊!

但这两天全网还有个更火的开源项目 REA了,直接上图,就几天 Star 数已经突破100k+,Star 数直接 90 度直线上升:

这增长速度,属实有点夸张。

REA 的全称是 Reverse Engineer Anything,翻译过来就是:逆向工程一切。

以后看到什么喜欢的软件、网站,甚至 APP,都可以交给 AI 逆向分析,再复刻一个自己的版本?虽然目前还做不到百分百还原,但这个方向已经越来越清晰了。

趋势版也直接登顶:

开源地址:https://github.com/morluto/rea

官网:https://rea.tools/

以前我们用 Claude Code、Codex,让 AI 帮忙写代码、修 Bug、开发软件,现在倒好,AI 不仅能写软件,还开始研究别人写好的软件到底是怎么运行的了。

看到一个好用的功能,想在自己的产品里实现类似体验,却不知道从哪开始?

以前要自己翻脚本、看反汇编、追调用。

现在,REA 把这些分析能力接入 AI Agent,让它带着问题去调查软件。

REA 是一个跨二进制、应用程序与运行行为的 MCP 工具入口,也能通过命令行使用。
REA 返回的不只是解释,还包括支撑结论的证据与限制。
Claude Code、Codex 等 Agent 负责理解问题、规划调查,再通过 MCP 调用 REA。
REA 调用相应分析工具,返回代码、引用和未知项,Agent 据此继续追问,或编写与测试新的实现。
CLI 使用的也是同一套工作流。

REA 本身不是新模型,而是连接 AI 与分析工具的工作流,不同类型的软件,需要不同的工具配合。

原生程序配合 Ghidra、IDA、Hopper 等工具,研究二进制文件、函数和调用关系。

Electron 与网页应用调查脚本、模块、通信与网络请求,梳理功能的实现路径。

Android 应用结合 JADX、ADB 等工具,分析 APK 结构、资源与运行线索。

支持分析的目标类型:

  • 原生二进制:分析伪代码、汇编、字符串、符号及函数调用关系。
  • ELF 可执行文件:查看段、节、符号与重定位信息。
  • Go 二进制:提取编译器版本、模块依赖与构建参数。
  • WASM 文件:检查结构、导入导出,并解码为 WAT。
  • EVM 字节码:识别函数选择器,推测参数与读写属性。
  • Linux 崩溃记录:查看线程寄存器、信号及相关上下文。
  • JavaScript / Electron 应用:分析模块、导入、源码映射与 IPC 通信。
  • 网站页面:查看页面结构、脚本、网络请求与截图。
  • 网络抓包文件:分析 HAR、mitmproxy 捕获中的请求、响应与载荷。
  • .NET 程序集:提取元数据、CIL 指令与声明的原生依赖。
  • Android APK:分析清单、类、反编译方法与引用关系。
  • Android 真机 / 模拟器:查看进程、日志、截图,传输 APK 与文件。
  • JEB 项目:读取项目单元、产物摘要及类型、方法伪代码。
  • Android 资源:解析清单、字符串表、语言区域与版本信息。
  • 固件镜像:识别区域、提取内容,并衔接原生二进制分析。
  • 应用包与资源文件:查看文件清单、摘要、plist 与 Apple 应用包结构。
  • 进程运行行为:记录终端输出、交互、退出状态与文件系统变化。

基础环境:Node.js 22.x(≥22.19)、24.x(≥24.11)或 26+,以及 npm;不同目标需要对应的额外工具。

注意:JS / .NET 静态分析只读取文件;运行时捕获会以当前用户权限启动或操作目标程序。


快速上手

1、配置

本机预先装好最新版 Node.js + npm,验证:

node -vnpm -v
执行下面命令完成初始化配置:
npx rea‑agents setup
选择要接入的 Agent,查看拟修改的配置,再确认执行,向导会注册 REA MCP 服务器、安装匹配的工作流指引,并备份已有配置。

支持 Claude Code、Cursor、Gemini CLI、Grok Build,其他兼容MCP的客户端可以手动注册服务。

接下来可以按目标准备分析工具:

  • 先体验:选一个本地 JavaScript / Electron 目录或 ASAR,无需先装反编译器。

  • 研究原生程序:配置 Hopper、Ghidra 或 IDA,安装向导可在获得同意后安装 Hopper,Ghidra 与 IDA 使用你已有的安装。

  • 研究 APK:准备 JADX 与完整 JDK,设备观察则另外需要 adb。

Hopper 通常由 REA 在需要时启动,macOS 首次运行可能出现演示模式或许可证激活对话框,先在同一用户会话里完成,再运行首次 CLI / MCP 操作或无人值守任务。

原生格式与系统支持因引擎而异,Windows Ghidra 支持在 README 中标为实验性,Ghidra 也有 16 位 DOS 分析指南。

大型文件启动超时,可查文档调整 REA_GHIDRA_STARTUP_TIMEOUT_MS 或 REA_HOPPER_STARTUP_TIMEOUT_MS,不要直接假定分析失败。

2、全局安装用户

npm install --global rea‑agentsrea --help

3、版本更新

项目迭代速度很快,经常修复bug,建议保持更新。

rea update

npx临时调用,直接带上latest,重新执行setup刷新代理配置:

npx rea‑agents@latest setup

怎么用:对话与命令行两条路

方式一:把一个具体功能交给 Agent

官方一个实例是调查 Notes 应用里的搜索功能。

使用时,替换为你有权分析的目标,并给出本地路径。

下面是根据该思路整理的提示词:

使用 REA 分析 /absolute/path/to/app。目标:理解搜索功能如何实现。1. 先说明目标类型、可用工具和分析限制。2. 找出相关模块、函数、调用关系。3. 每个关键结论附文件位置或其他证据。4. 区分已确认事实与尚未验证的推测。5. 给出在我的项目中实现类似功能的方案。6. 编写后用测试验证行为差异。

方式二:终端直接分析 JS / Electron

可以传入已提取的应用目录或 ASAR:

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

输出包含模块、导入、Electron 边界及相关证据。Windows 路径可按文档写成 "D:/apps/example",有空格时务必加引号。


官方案例

官方提供了很多使用案例,查看地址:https://rea.tools/zh-CN/showcase/。

  • Aegis 验证器:分析六位验证码的生成算法,解释为何每 30 秒更新。案例地址:https://rea.tools/zh-CN/showcase/aegis/

  •  CTF 逆向解题:提取程序校验规则,用 Python 求解并验证答案。案例地址: https://rea.tools/zh-CN/showcase/ctf/

  • DX-Ball 打砖块:还原根据碰撞位置调整左右声道的算法,用 C 重建并验证。案例地址: https://rea.tools/zh-CN/showcase/dx-ball/

  • Notion 复制粘贴:追踪剪贴板调用链,解释文本、HTML 和内容块如何保留。案例地址: https://rea.tools/zh-CN/showcase/notion/

  • TH04 弹幕游戏:分析 16 位游戏指令,用 C++ 还原环形弹幕与瞄准算法。案例地址:https://rea.tools/zh-CN/showcase/th04/

相关学习资料