夜雨聆风学习资料网

ARTICLE · 1295944

GitHub 36万 Star 爆火,AI界来了个猛货,号称逆向任何东西

GitHub 36万 Star 爆火,AI界来了个猛货,号称逆向任何东西

👉 这是一个或许对你有用的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料:

👉这是一个或许对你有用的开源项目

国产Star破10w的开源项目,前端包括管理后台、微信小程序,后端支持单体、微服务架构

RBAC权限、数据权限、SaaS多租户、商城、支付、审批工作流、大屏报表、ERP、CRM、WMS、MES、HRM、EAM、OA、FMS、PMS、AI大模型、AI工作流、AI Agent、IoT物联网、IM实时聊天等功能:

  • 多模块:https://gitee.com/zhijiantianya/ruoyi-vue-pro
  • 微服务:https://gitee.com/zhijiantianya/yudao-cloud
  • 视频教程:https://doc.iocoder.cn
【国内首批】支持 JDK25 + SpringBoot4、JDK17/21+SpringBoot3、JDK8/11+Spring Boot2三版本 

QUOTE

它替掉的是重复劳动,不是判断。

十月十四日它还是十八万 Star,如今已经超过三十八万。十来天,翻了一倍多。

— Star 曲线,十月开始近乎垂直

仓库现在有三十八万多 Star、九万五千多 Fork、四千两百多次提交,项目仍在持续更新。图看这里。

— 仓库首页,Star 与许可证

REA 是 Reverse Engineer Anything 的缩写,直译就是逆向任何东西。它本身不是反汇编器,是一套给 AI 编程助手用的逆向工具,通过 MCP 接进 Claude Code、Codex、Cursor 这些助手。

我更愿意把它理解成另一件事。逆向这行最怕的从来不是不会,是看起来会。一份没有出处的伪代码,一段听着合理的解释,能把人带偏好几天。REA 每次给结论都把证据、局限、还没搞清的部分一起交出来,两个引擎都能处理同一个目标时它会停下来问你用哪个。这才是我觉得它值钱的地方。

— README 项目介绍

本文看点

01

它不造反编译器,它调用你装好的

02

从 exe 到示波器波形

03

每次给结论,都把证据和未知一起给你

01

ENGINES

它不造反编译器,它调用你装好的

原生二进制这种硬活,REA 自己不上。它调用你电脑上已经装好的 Ghidra、Hopper 或 IDA,再把结果接回对话。

— REA 的调查流程,提问、检查追踪、读证据、用于实现

在 Hopper 里跑起来是这样,左边是反汇编,右边是它递上来的函数档案。

— Hopper 里的 REA 分析桥

所以它干的活是拆步骤。你提问,它检查目标并追踪相关代码,把代码、引用和未知项交回来,Agent 拿这些去解释、实现、测试,有疑问接着追问。

还有个省上下文的细节。MCP 默认走紧凑输入 schema,字段说明只给必要的部分;想要完整的字段指导和嵌套校验,在注册里加一个 REA_MCP_INPUT_SCHEMA_PROFILE=full。工具集不变,变的是说明的详细程度。

ruoyi-vue-pro

基于 Spring Boot + MyBatis Plus + Vue & Element & Ant Design 实现的后台管理系统 + 用户小程序,RBAC权限、数据权限、SaaS多租户、商城、支付、审批工作流、大屏报表、ERP、CRM、WMS、MES、HRM、EAM、OA、FMS、PMS、AI大模型、AI工作流、AI Agent、IoT物联网、IM实时聊天等功能

项目地址:https://github.com/YunaiV/ruoyi-vue-pro

视频教程:https://doc.iocoder.cn/video/

02

TARGETS

从 exe 到示波器波形

官方支持清单很长,值钱的是它把目标分成了两半。

一半靠内置静态解析,不用装任何引擎。Go 二进制能读出编译版本、模块和依赖,Rust 能读 cargo-auditable 的 crate 清单,.NET 能出元数据和 CIL,PyInstaller 能拆 CArchive 和入口脚本。Unity 的 IL2CPP、Godot 的 PCK、GGUF 与 safetensors 模型文件、PE 证书、ELF notes、APK 签名、Flutter 的 snapshot 哈希,也都在这一半里。

另一半要外部工具。APK 走 JADX 加完整 JDK,固件走 Binwalk 或 Unblob,抓包走 TShark,录下来的逻辑信号走 sigrok-cli,WASM 要 WABT 1.0.42,EVM 字节码要 Linux x64。原生二进制是这一半里最费劲的。

还有一类不折腾二进制。桌面安装包能列出运行时候选、组件标记和下一步该探什么;进程行为能抓终端输出、交互、退出码和文件系统变化;录下来的崩溃能读出每个线程的寄存器和信号。

门槛最低的是 JavaScript 与 Electron。读模块、路由、IPC 和原生插件关系,只要 Node 和 npm,一个逆向引擎都不用装。

yudao-cloud

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element & Ant Design 实现的后台管理系统 + 用户小程序,RBAC权限、数据权限、SaaS多租户、商城、支付、审批工作流、大屏报表、ERP、CRM、WMS、MES、HRM、EAM、OA、FMS、PMS、AI大模型、AI工作流、AI Agent、IoT物联网、IM聊天等功能

项目地址:https://github.com/YunaiV/yudao-cloud

视频教程:https://doc.iocoder.cn/video/

03

EVIDENCE

每次给结论,都把证据和未知一起给你

这是它最不像 AI 玩具的地方。

README 写得很直白。不保证还原出原始源码,也不可能一条命令把整个软件克隆出来。反编译出来的是伪代码,跟当年写的源码是两回事。复杂功能最后还是人要验证、测试、重写。

歧义也明说。同一个目标 Ghidra 和 Hopper 都能处理,它不会自己挑一个就跑,会停下来告诉你这里有歧义,让你指定。

证据是带编号的。函数档案、指令区间、跟公开源码的交叉核对,每一项都挂着 ev 开头的标识,回头能查。写报告或者对簿公堂的时候,这一点比结论本身有用。

官方案例页的自我限定更狠。计算器那个案例下面直接写着,演示里的 prompt 是示意,不是一次全自动端到端发现的录像,函数定位是分析者辅助完成的。一个敢这样标注自己的项目,比十条全自动的宣传更让人放心。

— 官方案例入口

04

CASES

三个能看懂的案例

第一个是 Aegis 验证器。让它读 APK,找出六位验证码怎么生成、为什么三十秒一变,最后给一个能拖动时钟的演示页。

— Aegis 验证码演示,拖动时钟看 30 秒怎么变

第二个是 Windows 计算器。200 加 10% 为什么算出 220,很多人纳闷过。REA 在本机装的 CalcViewModel.dll 里找到处理函数,看到百分比分两支,乘除走 rat 除以 100,加减走 rat 乘以 lastVal 除以 100。再拿 MIT 开源的 calculator 源码交叉核对,分支对得上。

— 计算器百分比的两条分支

第三个是 Chrome 断网的小恐龙。官方拆的是网页版,读出的规则是起步速度 6、每次无碰撞更新加 0.001、上限 13。另开一个 Playwright 控制器反复调 Runner.update 验证,七千次到 12.999,一万次到 13.001,因为代码先比较再加。

— 小恐龙速度规则演示

Notion 那个案例追的是剪贴板。从页面里能调到的 API,顺着 preload 和 IPC 一路追到主进程,看清富文本是怎么被一小段 HTML 标记串起来的。

TH04 是 1996 年的 PC-98 游戏,用 16 位指令还原出瞄准角度的算法,再把重写的 C++ 跟当年编译器输出对照。

还有一个更硬的,DX-Ball 的声像计算。还原出的 C 函数过了 3205 个原始用例,编译出来的 63 个字节跟原版完全一致。

05

INSTALL

装它只要一句,配引擎才是门槛

前提只有一个,Node.js 22.x 不低于 22.19、24.x 不低于 24.11,或者 26 以上,外加 npm。

···bash

npx rea-agents setup

它会让你选助手,列出准备改哪些配置,确认后写入 MCP 服务和配套的工作流说明,改之前自动备份。装完重启助手。

想先跑一次命令行也行,比如拆一个 Electron 应用。

···bash

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

官方支持的客户端一共二十一个,桌面与 IDE 六个,命令行九个,云端六个,setup 会自动写进 MCP 配置。

— 二十一个受支持的客户端与各自的取值

不在列表里也能用。任何支持本地 MCP 的助手,手动填一段配置把它拉起来就行,Trae 社区有人这么干过。Grok Bot 是例外,得接托管连接器。

— 手动 MCP 配置界面

真正的门槛在引擎。要啃原生二进制,得先把 Ghidra、Hopper 或 IDA 配好。macOS 上用 Hopper 有个坑,第一次启动会弹窗问演示模式还是激活许可证,这个弹窗不处理掉,后面的分析会直接卡住。

06

LIMITS

它到不了的地方

官方的免责声明写得很清楚。只用于合法的研究、教育、互操作和软件保存,分析的得是你自己拥有或者有权分析的软件。IDA Pro、Hopper、JEB 这些商业工具的授权要自备。

Linux 上还有一层前提。Ghidra、JADX、固件工具和静态 JavaScript 分析,都需要一个 procps 兼容的 ps 在 PATH 里,用来做进程归属检查,缺了会直接报错。

技术上也有天花板。社区有人拿它分析大厂 App 的客户端,但支付风控、推荐算法这些核心逻辑跑在服务端,客户端逆向碰不到。

伪代码不是源码。能看懂不等于能改对,复杂功能还是得人来验证。

也不是全自动。官方案例自己承认了分析者辅助那部分,这个尺度比宣传口径诚实得多。

07

VERDICT

门槛被打下来之后

以前想做这件事,得自己开反汇编器一行行追,没有几年经验玩不转。现在这些重复的步骤能交给 Agent 跑,读到的东西还带着出处。

但它替掉的是重复劳动,不是判断。证据摆在那儿,怎么解释、值不值得信、下一步问什么,还是人。

第一次上手建议从 Electron 应用开始。不用配任何引擎,装完就能跑,先看清证据长什么样,再去碰原生二进制。

仓库在 https://github.com/morluto/rea

END

欢迎加入我的知识星球,全面提升技术能力。

👉 加入方式,“长按”或“扫描”下方二维码噢:

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。

文章有帮助的话,在看,转发吧。

谢谢支持哟 (*^__^*)

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料