前几天有个叫rea的东西“大火”,作为圈内人,当然要看看这到底是个什么玩意了。试了之后发现似乎啥也不是,只是对一些安全工具本身的mcp做了一层封装,底层能力还是依赖大模型本身和ida,jadx这些安全工具自己的mcp。
这层封装本身也没有必要,只要自己在agent里配置好ida的mcp,能力完全一样。
所以rea本身就是一个炒作下没有任何用处的东西。
本文借此机会详细讲述如何自己搭建ai自动化逆向环境。
ai已经火了很久了,但是在rea出来之前我也没怎么用过agent,听说过mcp,skill什么的,但是完全没用过,都是把代码复制粘贴给ai,让他辅助分析,效果也还行。
agent我的理解就是把网页的ai对话搬到了本地,本质还是网络请求和后端的大模型交互,不过在本地可以有更多的拓展功能和操作权限等等等。
首先去下载一个叫opencode的agent:

下载好后需要导入自己的ai apikey:

等连接上ai后,可以在对话框里进行对话了:

这样agent就装好了。
mcp是可以理解为大模型和程序之间的接口
对大模型来说,想要调用一些函数提供的能力,需要提供以下东西:
1.函数:
需要在代码里编写若干供大模型调用的函数,这里的代码就是正常开发时写的代码
2.描述:
这是mcp中最关键的部分。因为大模型使用自然语言来进行交互,具体怎么调用,为什么调用,完全基于自然语言的理解。这里的描述,其实就是函数里的注释:

例如这是jadx的mcp,定义的python方法时大模型会调用的,其中的注释是供大模型理解的
大模型会自己阅读注释,正确理解每个函数什么时候调用。
3.命令
大模型想要调用一个函数,必须要执行一些命令。例如java,python等等。这些命令要在配置的时候提供给大模型。
4.配置
一个mcp的配置大概长这样:
其中主要包括mcp名称,启动命令,等待超时等等。
因为函数执行都需要时间,如果是ida反编译之类的时间会更久。所以需要配置一个等待和超时时间,ai会根据这个时间决定是继续等待执行结果还是中止。
给大模型配置ida的能力,大模型可以自己去分析一个可执行文件,包括不限于elf结构,函数的反编译,交叉引用等等。
注意,ida9.3和ida9.4的mcp配置方式不同,本文使用ida9.3配置。
首先安装uv
然后激活idalib
idalib在ida的安装目录下存在

然后安装ida-pro-mcp(需要python3.11以上)
传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!!