优雅地配置IDA MCP
优雅地配置IDA MCP
MCP真好用😋😋😋
真·自动化
本文主要介绍如何简单地配置IDA的MCP,以便在打CTF时可以在VSCode中使用AI来
环境:
- VSCode
- VSCode的插件Trae(MCP客户端)
- IDA Pro 9.1
- Python 3.11(IDA自带)
一、准备
IDA Pro 9.1压缩包,这个我是在别的文章(参考里面的那篇文章)那里“借”来的,注意如果IDA版本太低的话,MCP可能会出现兼容性问题
二、安装与配置
- 安装IDA,即直接把压缩包解压到一个目录,放一个你喜欢的位置,这里我放在
D:\Program Files\IDA Pro
下 - 在
D:\Program Files\IDA Pro
下打开终端,运行idapyswitch.exe --force-path "D:\Program Files\IDA Pro\python311\python3.dll"
,这一步是为了强制IDA使用自己的python,而不是系统的python,防止出现兼容性问题 - 进入
D:\Program Files\IDA Pro\python311
目录并打开终端,这一步是为了确保使用的是IDA自带的python - 运行
python.exe -m pip install --upgrade git+https://github.com/mrexodia/ida-pro-mcp
,这一步是下载MCP服务端,如果连不上github可以试试后面换成https://gitee.com/beak/ida-pro-mcp
。其中-m
是为了使用IDA自带的pip,而不是系统的pip - 运行
"D:\Program Files\IDA Pro\python311\Scripts\ida-pro-mcp.exe" --install
,这一步是安装MCP客户端 - 运行
"D:\Program Files\IDA Pro\python311\Scripts\ida-pro-mcp.exe" --config
,这一步是查看MCP的配置,你会看到把这个复制一下
- 打开VSCode,安装Trae插件(文心,通义,Cline也类似,不过我觉得Trae配起来最方便),然后在插件的设置中,找到MCP的配置,点击添加-手动添加,粘贴上一步复制的内容,确认
- 再找到MCP旁边的智能体,点击创建,输入名称(随便取),提示词(随便写,可以参考这里),工具一定要勾上ida-pro-mcp,并且取消勾选工具-内置的“预览”项(这一步是为了防止工具过多导致的调用异常),点击创建即可
- 打开IDA,点击
Edit
->Plugins
->MCP
,即可打开MCP客户端 - 点击Trae输入框左下角的”@”,切到IDA智能体,即可使用IDA MCP
三、调试与使用
这个就不用我说了吧,直接在开了IDA智能体的Trae输入框中输入指令即可,比如IDA光标移动到目标,再在Trae里面写:帮我分析一下这个函数
,即可分析当前函数。
四、其他
Trae
这个是字节跳动的免费ai代码工具,有VSCode插件版,也有Trae IDE,支持DS,豆包,Kimi之类的国产大模型和MCP。它和通义,文心,Cline,甚至Ollama,cherry studio差不多,都是调用ai工具的工具
MCP
本质上就是api,只不过是针对ai的。在这里MCP服务端就是IDA,IDA告诉客户端,自己有哪些工具,客户端就能调用这些工具。MCP客户端是Trae,Trae发送指令给MCP服务端,MCP服务端根据指令调用IDA的工具,然后把结果返回给Trae。
自定义MCP服务器
通常需要写一个json文件,来配置MCP服务器的地址,端口,工具等信息
比如:
1 | { |
这里就定义了一个MCP服务器,名字是cxk,地址是localhost:11451,支持唱跳rap篮球。
用于告诉客户端,你应该按照json文件调用cxk,别发错指令了。
如果我要用本地大模型呢?
使用本地大模型是个很
- 确保安装Ollama和VSCode插件Cline
- 打开Ollama,让它在后台跑
- 打开Cline,右上角设置里API Provider选择Ollama,选择模型(我这里是qwen2.5-coder:7b,选模型时要注意选支持MCP的模型)
- 右上角点击MCP服务器图标,点击installed,点击最下面的Comfigure MCP Servers,不出意外的话,刚才第6步执行
--config
那行指令的时候就已经自动配好了。如果没有,就把刚才第6步产生的的配置复制过来 - 打开IDA,点击
Edit
->Plugins
->MCP
打开MCP,再Cline里面直接提问即可。如果一直不出,可以试着把模型上下文调大。需要注意的是,本地模型比较不太聪明,调用MCP时应当指明调用的是哪个MCP,目的是什么,对提示词要求较高,若调用MCP失败,可多试几次,反正能调就对了。
参照提示词
1 | 你是一个专为 IDA Pro 设计的 AI 助手,通过 MCP 与用户的 IDA 实例进行交互。请遵循以下原则: |