你有没有遇到过这种场景:手里只有一个编译好的 .exe 或 .so 文件,没有源码,却想知道某个功能到底是怎么实现的?传统做法是打开 Ghidra 或 IDA 这类反汇编工具,面对密密麻麻的汇编指令,从函数入口一路追到交叉引用,再靠经验推断逻辑。这个过程极其耗时,而且对不熟悉底层逆向的开发者来说,门槛高得吓人。

Reverse Engineer Anything(简称 REA)这个开源项目想改变这件事。它在 GitHub 上已经积累了超过 20 万 Star,核心思路很直接:把 Claude Code、Codex 这类 AI 编程 Agent 接到 Ghidra、Hopper、IDA 这些逆向工具上,让 Agent 像读源码一样去读二进制。你不再需要手动翻汇编,而是用自然语言提问,比如“这个函数在做什么”“这段逻辑的输入输出是什么”,Agent 会自己去查询反汇编结果、追踪函数调用关系、检查交叉引用,甚至反复验证假设,直到给出一个可理解的答案。

REA 的实现依赖 MCP 服务器(Model Context Protocol,一种让 AI 模型与外部工具标准化通信的协议,相当于给 Agent 装上了能操作外部软件的“手”)。通过 MCP,Agent 可以调用反汇编器、查询函数和交叉引用、追踪程序行为,然后基于结果迭代式地验证自己的猜测。整个过程在本地运行,数据不出机器,而且项目明确不承诺恢复原始源码——它做的是辅助分析,不是魔法般的源码还原。

项目支持的范围比想象中广。除了原生二进制,它还能静态分析 JavaScript、Electron 应用和 .NET 程序集,这些场景甚至不需要本地分析引擎就能跑。官方展示的几个案例很能说明问题:一是追踪 Notion 的 Electron 剪贴板实现,搞清楚这个知名应用在复制粘贴时到底做了什么;二是从经典游戏 DX-Ball 中重建声音平移函数(sound-panning,控制声音在左右声道间位置的功能),还原结果与原始 3205 个 x86 测试用例全部匹配,连编译后的 63 个函数字节都完全一致;三是从 DOS 游戏《东方灵异传》(Touhou 4)的 16 位代码中恢复子弹环角度计算逻辑。这些案例证明,REA 不是玩具,而是能处理真实复杂逆向任务的工具。

社区对这个项目的反应很有意思,也暴露了它的争议点。Hacker News 上有人质疑:既然 AI 编程 Agent 本来就能自己装 Ghidra 并用它,REA 到底多了什么价值?但也有用户反馈,用 REA 的效果比他们之前自己通过 AI Agent 操作逆向工具好得多。Reddit 上则有不少独立开发者表达了担忧:AI 辅助逆向可能让抄袭游戏和应用变得更容易,绕过付费功能、未经许可进行商业利用的门槛都降低了。AMD 总监 Sreekanth Pannala 的评论更宏观:“十年间变化真大!我们从一个软件为王、硬件是商品的时代,进入了一个硬件为王、专有软件越来越可被替代的时代。”

最让我意外的是,这个项目的作者 morluto 的真实身份至今没有公开,但他还维护着另一个项目 Awesome Reverse Engineering,一个涵盖二进制、应用、固件、文件格式和协议的逆向工具与学习资源清单。这种低调但高产的开源风格,在当下浮躁的 AI 圈子里显得格外扎实。

REA 采用宽松的 MIT 许可证发布,明确支持合法的逆向工程、研究、分析和重建,同时强调用户必须自行获得授权并遵守适用法律。Persistent Intelligence Project 的创始人 Cleverson Santos 在 LinkedIn 上的警告值得深思:“这是一条模糊的边界!我不赞成跨越这些界限——而这只是开始;一切为帮助人类而创造的东西,最终都会以某种方式被用来对付人类。”

这个项目能直接用在哪些场景?如果你是做安全研究的,可以用它快速分析恶意样本的行为;如果你是做竞品分析的,可以用它理解某个闭源库的核心算法;如果你是游戏开发者,可以用它研究老游戏的技术实现,甚至做兼容层或重制版。需要注意的坑也很明确:逆向工程的法律边界因司法管辖区而异,商业软件和游戏通常有明确的使用条款,动手之前务必确认你的分析目的和授权范围。另外,REA 是辅助工具,不是自动逆向机,复杂逻辑仍然需要你具备一定的汇编基础和耐心,Agent 的推理质量也会直接影响结果。

Accelerating Performance by Incrementally Integrating Rust into Existing Codebas
Accelerating Performance by Incrementally Integrating Rust into Existing Codebas

展示了 REA 的整体工作流程:Agent 通过 MCP 与逆向工具交互,查询反汇编结果、追踪调用关系、迭代验证假设。

Evolutionary Architecture in Practice
Evolutionary Architecture in Practice

是项目在 GitHub 上的仓库页面,可以看到 Star 数、许可证信息和文档结构。

What 25 Trillion Tokens Reveal About How Developers Actually Adopt AI Agents
What 25 Trillion Tokens Reveal About How Developers Actually Adopt AI Agents

是官方展示案例的截图,包括 DX-Ball 声音函数重建和 Touhou 4 子弹环角度计算的验证结果。

The Minimum Viable Manager: Building Trust, Feedback, and Alignment
The Minimum Viable Manager: Building Trust, Feedback, and Alignment

是 Hacker News 上关于 REA 价值的讨论串,可以看到不同从业者的观点碰撞。

Exploding GPUs
Exploding GPUs

是 Reddit 上独立开发者对 AI 辅助逆向的担忧讨论,涉及抄袭、绕过付费和商业利用等话题。

REA investigation flow
REA investigation flow

是 REA 的架构示意图,展示了 MCP 服务器如何连接 Agent 与 Ghidra、Hopper、IDA 等工具。

如果你对二进制分析感兴趣,或者手里正好有需要逆向的闭源程序,REA 值得一试。它把逆向工程的门槛从“精通汇编”降到了“会提问”,这本身就是一种巨大的进步。

阅读原文 → 返回 AI 技术文档

内容与图片版权归原作者所有 · 原文: https://www.infoq.com/news/2026/10/reverse-engineer-anything/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global