REA 支持 TRAE 了,我拿自己的开源软件做了一次逆向实测

0 阅读5分钟

最近 REA 挺火,我也一直想试试。

如果你还不了解 REA,可以先简单把它理解成:一个让 AI Agent 可以分析软件、理解二进制程序的连接器。

本来周二就已经理解了相关内容,打算实测下给大家分享的,但是当时 REA 竟然不支持我的主力开发工具 TRAE。

不死心的我去了 REA 的 GitHub 仓库,发现社区里已经有人在推进 TRAE 的支持,而且已经有对应的 PR。

而周二之后,我一直在济南人工智能产业大会现场,于是,就到了现在。

周二计划发版,但是失败了,14号merge的PR

周二计划发版,但是失败了,14号merge的PR

于是,晚饭后就开始这次尝试。

为了更好的把握 REA 对软件分析的效果,我没有找市面的软件,而是采用我自己开发的一个桌面小工具,并且没有在开发机上测试。

补充点知识

这次之前,我对“逆向”的理解也很初级,所以,先给大家分享下我和 AI 请教完的理解。

正常的软件开发大概是:

源码 -> 编译 -> EXE

而逆向则是反过来:

EXE -> 字符串 / API / 函数 / 汇编 -> 寻找证据 -> 推断程序逻辑 -> 理解软件

图片

正向开发与逆向分析对照图

程序编译之后,虽然原来的变量名、注释、代码结构等信息可能已经消失,但它依然会留下很多痕迹。

比如:

• 程序里有哪些字符串;

• 调用了哪些系统 API;

• 有哪些函数;

• 函数之间如何调用;

• 使用了什么运行时和第三方库;

• 某些功能对应哪些代码。

而 Ghidra 这样的工具,就是帮助我们找出来这些痕迹。

而 REA 做的事情,是进一步让 Agent 能够调用这些逆向分析能力,然后自己去调查、分析和组织这些痕迹。

简单来说:

以前是人拿着 Ghidra 分析软件,现在是 Agent 调用 Ghidra 分析软件。

准备 TRAE 下的 REA 环境

言归正传。

前置条件包括:

• JDK:64 位完整 JDK 21 或更新版本,记得配置 JAVA_HOME;

• Ghidra:免费开源,压缩包即可使用,设置 GHIDRA_INSTALL_DIR 环境变量告诉 REA 它的路径。

• Node.js:22.x(≥22.19)、24.x(≥24.11) 或 26+

准备好之后,直接运行 REA 的 setup 流程。

npx rea-agents@latest setup

或者

npm install --global rea-agents``rea setup

然后选择 TRAE。

REA Setup 选择 TRAEREA Setup 选择 TRAE

它会自动完成对应的配置,不需要再自己手动折腾一堆 MCP 配置。

配置完成,重新打开 TRAE,再确认 REA 的相关能力已经可以调用。

检查当前连接的REA MCP。 列出可用逆向分析工具。 确认是否能够调用Ghidra。

TRAE 中 REA 已成功接入TRAE 中 REA 已成功接入

到这里,准备工作基本就结束了。

核心的实测记录

下面我们开始正式的逆向分析过程。

图片

逆向分析环境

逆向目标是我自己开发的开源桌面小工具,本地应用管理器,这次逆向的目标只是其中一个功能:

运行中:该功能可以方便地让你看到各个端口是什么进程占用,并支持一件杀死这个占用的进程。

项目地址先放这里,感兴趣的可以查看,但先声明,还没做完全部的测试。

gitee.com/fgszt/local…

测试目标的文件夹是这个样子。

我们的你项目表我们的你项目表

开始逆向分析。

弄清 C:\tools\target\DevNest.exe 应用的“运行中”如何工作,展示证据,并为我实现一个相似的electron 桌面软件。

这里挖了个坑,我的桌面软件其实是 tauri 应用,而不是 electron 应用。

32m39s后(这个时间仅供参考,我用的商务本,有点卡),逆向分析完成。

逆向分析结果逆向分析结果

复刻,我就不展开了,因为复刻的本质其实是通过 AI Agent 基于逆向分析的结果给你又实现一个相似的软件。

一般的实测,也许到这里就足够了。

但是,我们有答案,那就更进一步验证下效果。

我把逆向分析的结果扔到了桌面小工具开发环境中,让 AI Agent 帮我检查了下。

检查结果

检查结果

首先,整体的逆向分析的结果是正确的。

至于中间的2个实质错误,主要是因为我逆向的是周二的版本,我本地的代码已经进行了更新。

但,瑕不掩瑜,整体的逆向分析确实挺厉害的。

并且,我挖的坑,它也完美避过了(tauri、electron)。

图片

TRAE+RAE分析过程

结语

总结一下今天的内容。

1. 成功验证了 REA 对 TRAE 的内置集成,大家可以不用再手动设置 MCP 了,一键安装终究是方便的。

2. 通过自己开发的软件,直观对比了 REA 逆向分析的效果。

另外,有 2 个比较常见的误解,强调下:

1. REA 只是 AI Agent 在逆向分析的连接器,这是我一直推荐的大家可以尝试的机会。

2. REA 的过程并不包括复刻,复刻是 AI Agent 根据逆向的证据进行的,是一次有更精准上下文的 Vibe Coding。

官网上也有说明官网上也有说明

好了,REA 的实测就到这里,虽然晚了几天,但终究是完成了。