欢迎光临
我们一直在努力

GitHub 爆火 REA 逆向工程工具:让 AI Agent 自动逆向二进制程序

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}

Hello 我是逆境不可逃

最近 GitHub 上有个叫 REA 的开源项目突然火了,短短几天收获大量 star。

注意:有两个完全不一样的 REA,缩写撞名字了!

  • REA(Reverse Engineer Anything):本文讲的,AI 逆向工具,最近刚火
  • Meta 的 REA:广告排序的 AI 智能体,和逆向没关系,别搞混。
  • 以前做逆向工程门槛很高,需要人手动打开 IDA、Ghidra 这些软件,一点点看汇编代码,一点点梳理程序逻辑,非常耗时间。 而 REA 的目标,就是让 AI 帮我们自动做逆向分析。

    一、REA 到底是什么?

    REA 全称:Reverse Engineer Anything,翻译过来就是「逆向一切」。

    ⚠️ 重点:REA 本身不是 AI 大模型,也不能自己反编译程序。 它是一个中间服务程序,相当于一座桥梁。 一边连接 AI 代码助手(比如 Claude Code、Cursor),另一边连接传统逆向工具(Ghidra、JADX、IDA)。

    简单一句话理解: 你直接跟 AI 说,帮我分析这个 exe 程序里某个功能。AI 通过 REA 调用本地逆向软件,拿到反编译后的代码,再分析结果告诉你。

    二、REA 工作流程(大白话)

  • 你把二进制文件(exe、apk 等)交给 AI,告诉它你的需求,比如:看看这个程序的音效计算逻辑。
  • AI 会通过 REA 这个桥梁,调用电脑上的逆向工具 Ghidra,加载这个程序。
  • Ghidra 自动反编译程序,提取函数、伪代码、变量、函数调用关系。
  • REA 把拿到的原始代码信息传回给 AI。
  • AI 根据这些真实的代码信息,给你解释程序逻辑,还能尝试写出等价的 C 代码。
  • 好处:AI 不能凭空瞎猜,所有结论都来自逆向工具返回的真实代码,减少 AI 胡说八道(幻觉)。

    三、官方示例:逆向老游戏 DX-Ball

    项目里最出名的例子,是一个很早的打砖块小游戏 DX-Ball,只有 exe 文件,没有源代码。 利用 REA+AI,自动完成下面这些事:

  • 加载游戏程序,找到和声音相关的函数
  • 跟踪变量,搞明白砖块击中后,左右声道声音怎么计算
  • 还原出对应的 C 语言代码
  • 把还原出来的代码重新编译,运行效果和原版游戏一模一样,几千个测试用例全部通过。
  • 除了游戏,还可以分析 Windows 计算器、一些简单小程序的内部算法。

    四、REA 能处理哪些文件

    • Windows 的 exe、dll 程序
    • Linux 可执行程序
    • Android 手机 APK 安装包
    • .NET 程序、Electron 打包的软件、简单固件文件

    五、REA 的优点

  • 上手简单:一条命令就能安装配置,Cursor、Claude Code 这类常用 AI 代码工具都能直接对接。
  • npx rea-agents setup

  • 文件本地运行:你的程序不会上传到网上,全部在自己电脑处理。
  • 降低逆向门槛:不懂汇编的新手,也可以借助 AI 看懂简单程序的逻辑。
  • 证据约束:AI 给出的结论,都要参考逆向工具返回的真实代码,减少 AI 编造内容。
  • 六、REA 的短板(不是万能神器)

    很多人以为 REA 可以随便逆向所有软件,其实有很多限制:

  • 如果程序加了壳、做了代码混淆保护,REA 效果会很差,基本分析不动。
  • 只适合小型、简单的程序。大型软件、操作系统这种复杂程序,没法一次性完整逆向。
  • REA 只是帮你调用逆向工具,不能替代 Ghidra、IDA 本身,电脑上还是需要装好这些逆向软件。
  • 七、重要:法律和安全提醒

    这一段一定要看!

  • 未经作者授权,不能随便逆向商业闭源软件,属于侵权行为。只能分析自己拥有版权、开源的程序,或者获得授权做安全研究。
  • 这个工具降低了逆向的门槛,也可能被坏人用来分析软件漏洞,有一定安全风险。 项目作者也强调:使用时遵守当地法律法规,禁止未授权逆向。
  • 八、简单总结

    REA(Reverse Engineer Anything)是最近大火的 MCP 工具。 它本身不做反编译,相当于桥梁,让 AI 代码助手自动调用 Ghidra、IDA 这类逆向软件,自动分析二进制程序。 对于没有加壳的小程序,它可以快速还原内部算法,降低逆向的学习门槛。 但遇到加壳混淆的程序就很难用,同时使用的时候一定要注意法律风险。

    赞(0)
    未经允许不得转载:171主机测评 » GitHub 爆火 REA 逆向工程工具:让 AI Agent 自动逆向二进制程序
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址