简体中文 | 繁體中文 | English |
用AI Agent做逆向,真的能像切西瓜一样简单吗?——morluto/rea深度体验报告

用AI Agent做逆向,真的能像切西瓜一样简单吗?——morluto/rea深度体验报告

typecho
2026-10-11 / 0 评论 / 1 阅读 / 正在检测是否收录... ===> PDD优惠福利券,千万好物,不要错过 <===

🚀 打开电脑,看到一份神秘的可执行文件,心里默默祈祷:这次不用再花几天盯着汇编代码了。正好最近看到GitHub热榜上有个叫 morluto/rea 的项目,宣称用AI Agent就能「逆向任何东西,从应用行为到原生二进制」。这听着就像给逆向工程装上了自动挡,我忍不住点进去试了一把。

先说说我以前的痛点。有一次需要分析一个加密的通信插件,只有几兆大小的二进制,用IDA Pro手动跟踪调用链,花了快两周才把关键函数剥出来。过程中不断遇到混淆、无效跳转,而且每次改一点思路都要重新载入,效率低得让人想直接放弃。那时候我真的羡慕那些能一眼看穿逻辑的大佬。

现在换成rea的思路就不一样了。它的核心其实是让一个大模型充当「侦探」,先让你把目标程序跑起来,观察它的行为——比如打开了哪些文件、调用了什么系统API、内存里有什么可疑字符串。然后模型把这些观察结果当作线索,推断可能的功能模块,甚至直接生成伪码或者简化的控制流图。这样一来,原来需要人工逐条确认的细节,变成了模型先给出假设,再由你快速验证。

我在实际测试中拿了一个简单的加密壳程序来试。首先按照README的快速启动,跑了 npx rea-agents setup 并重启agent。接着用一个真实目标——之前编译好的小工具——执行分析命令,选择JSON输出。返回的结果里,模块列表、导入函数以及可能的入口点都标得很清楚。虽然没有达到百分百的自动化,但比我以前手动翻汇编快了至少十倍。

不过我也遇到了一些坑。首先是环境依赖,rea默认调用Hopper、Ghidra或者IDA来做底层反汇编,如果你本地没有装这些工具,native分析阶段会直接报错。我后来在一台干净的Linux虚拟机里装了Ghidra的命令行版,问题才解决。其次是Agent的提示词需要一定技巧,描述得太模糊会导致模型给出无关的猜测;描述得太具体又可能限制了它的发散性。建议先用官方示例里的简单程序跑通,再逐步加入自己的目标。

从专业角度看,这种把行为观察与语言模型结合的做法,实际上是在做「动态符号执行」的升级。传统动态分析只能看到当时的运行痕迹,而rea通过让模型对观察到的行为进行抽象推导,能够在一定程度上覆盖未触发的代码路径。这也是为什么它能声称「从应用行为下到原生二进制」——因为行为是入口,模型负责往深层推演。

当然,这并不是说以后再也不需要逆向工程师了。模型的结论仍然需要人工核验,尤其是涉及加密算法、反调试手段或者自解密代码时,可能会出现幻觉。不过作为辅助工具,它能大幅降低入门门槛,让刚接触逆向的同学不再被壳和混淆吓退,而有经验的老手则可以把重复性的行为梳理工作交给Agent,专注于更有创意的漏洞挖掘或协议还原。

如果你想进一步探索Agent在安全领域的潜力,可以看看它如何与MCP(模型上下文协议)结合,或者尝试把它接入自动化的CI管线,每次提交都跑一次行为基线检测。这样不仅能提升效率,还能在早期发现被植入的后门。

💡 小结一下:morluto/rea 给逆向工程带来了「先看行为,再让AI帮忙推理」的新范式。它不是魔法,但确实能把以前靠眼力和耐心的活儿变得更有章法。你试过吗?欢迎在评论区留下你的使用感受、踩过的坑或者对AI Agent逆向的看法,大家一起交流!

0

评论

博主关闭了当前页面的评论