YCCLT 发表于 2025-9-21 19:44

IDA+VSCode+Trae+MCP——免费且省事的半自动化逆向辅助

本帖最后由 YCCLT 于 2025-9-23 18:10 编辑


# 优雅地配置IDA MCP

>MCP真好用😋😋😋
>真·自动化

本文主要介绍如何简单地配置IDA的MCP,以便在打CTF时可以在VSCode中使用AI来辅助解题

环境:

- VSCode
- VSCode的插件Trae(MCP客户端)
- IDA Pro 9.1
- Python 3.11(IDA自带)

## 一、准备

(https://pan.baidu.com/s/11XkBzv_PHWGzWGXjSqWWQg?pwd=Alex),这个我是在别的文章(参考里面的那篇)“借”来的hh,注意如果IDA版本太低的话,MCP可能会出现兼容性问题

## 二、安装与配置

1. 安装IDA,即直接把压缩包解压到一个目录,放一个你喜欢的位置,这里我放在`D:\Program Files\IDA Pro`下
2. 在`D:\Program Files\IDA Pro`下打开终端,运行`idapyswitch.exe --force-path "D:\Program Files\IDA Pro\python311\python3.dll"`,这一步是为了强制IDA使用自己的python,而不是系统的python,防止出现兼容性问题
3. 进入`D:\Program Files\IDA Pro\python311`目录并打开终端,这一步是为了确保使用的是IDA自带的python
4. 运行`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
5. 运行`"D:\Program Files\IDA Pro\python311\Scripts\ida-pro-mcp.exe" --install` ,这一步是安装MCP客户端
6. 运行`"D:\Program Files\IDA Pro\python311\Scripts\ida-pro-mcp.exe" --config`,这一步是查看MCP的配置,你会看到

把这个复制一下
7. 打开VSCode,安装Trae插件(文心,通义,Cline也类似,不过我觉得Trae配起来最方便),然后在插件的设置中,找到MCP的配置,点击添加-手动添加,粘贴上一步复制的内容,确认

8. 再找到MCP旁边的智能体,点击创建,输入名称(随便取),提示词(随便写,可以参考[参照提示词](#参照提示词)),工具**一定要勾上ida-pro-mcp**,并且**取消勾选**工具-内置的“预览”项(这一步是为了防止工具过多导致的调用异常),点击创建即可

9.打开IDA,点击`Edit`->`Plugins`->`MCP`,即可打开MCP客户端
10.点击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服务器的地址,端口,工具等信息
比如:

```json
{
    "name": "cxk",
    "url": "http://localhost:11451",
    "tools": [
      "sing",
      "dance",
      "rap",
      "basketball"
    ]
}
```

这里就定义了一个MCP服务器,名字是cxk,地址是localhost:11451,支持唱跳rap篮球。
用于告诉客户端,你应该按照json文件调用cxk,别发错指令了。

### 如果我要用本地大模型呢?

使用本地大模型是个很大聪明的决定,因为本地模型参数太小,看起来不太聪明的样子,特别是调用MCP时很难用(如果你有8张H100跑671b大模型的话,当我没说),除了能跑本地无审查模型以外好像就没啥用了。但是话又说回来了,有的CTF线下赛不太能联网,这个时候就只能用本地大模型了。你需要Ollama/Cherry Studio+Cline。这俩的教程自己找,本文仅探讨IDA MCP相关内容。

1. 确保安装Ollama和VSCode插件Cline
2. 打开Ollama,让它在后台跑
3. 打开Cline,右上角设置里API Provider选择Ollama,选择模型(我这里是qwen2.5-coder:7b,选模型时要注意选支持MCP的模型)
4. 右上角点击MCP服务器图标,点击installed,点击最下面的Comfigure MCP Servers,不出意外的话,[安装与配置](#二安装与配置)第6步执行`--config`那行指令的时候就已经自动配好了。如果没有,就把[安装与配置](#二安装与配置)第6步产生的的配置复制过来
5. 打开IDA,点击`Edit`->`Plugins`->`MCP`打开MCP,再Cline里面直接提问即可。如果一直不出,可以试着把模型上下文调大。需要注意的是,本地模型比较不太聪明,调用MCP时应当指明调用的是哪个MCP,目的是什么,对提示词要求较高,若调用MCP失败,可多试几次,反正能调就对了。

### 参照提示词

```prompt
你是一个专为 IDA Pro 设计的 AI 助手,通过 MCP 与用户的 IDA 实例进行交互。请遵循以下原则:

1.专业性: 你精通 x86/x64, ARM, MIPS 等多种架构的汇编语言、C/C++ 代码、程序结构、编译器优化和恶意软件分析技巧。
2.主动性: 在用户提问时,不仅要回答问题,还应主动建议下一步有价值的分析方向或可使用的 MCP 工具。例如:“需要我帮你查看这个函数的交叉引用吗?”或“是否要我将这个区域重新定义为数组?”
3.上下文意识: 充分利用 MCP 工具获取当前光标位置、函数、反编译代码等上下文信息,使你的回答更具针对性。
4.安全性: 你只能通过提供的 MCP 工具与 IDA 交互。严禁输出任何可能直接操作 IDA 数据库的 Python 脚本或命令。所有修改操作(如重命名、注释、定义数据)必须通过相应的工具调用完成。
5.清晰性: 解释你的推理过程。当识别出一个函数或结构时,简要说明你的判断依据(如特征指令、字符串、系统调用等)。

核心能力:
-   静态分析: 分析函数、控制流、数据结构、字符串和交叉引用。
-   动态调试: (若集成调试器)解释执行轨迹、分析内存状态。
-   脚本与自动化: 推荐或通过工具执行常见的分析任务。
-   知识整合: 识别常见库函数、加密算法、恶意软件家族特征。
-   可视化辅助: 建议生成控制流图 (CFG) 或导出数据以更好地理解代码。

首先,友好地问候用户,并说明你可以通过 MCP 帮助他们进行哪些方面的 IDA 分析工作。
```

## 参考

<https://www.cnblogs.com/alexander17/p/19089720>

gjianbo 发表于 2025-9-23 06:07

我在创建智能体的时候选择 ida pro mcp提示工具过多,只能使用40个,而这个是47个,楼主是怎么解决的?

q3125418 发表于 2025-12-31 14:58

它奶奶的一直报错:
{
"mcpServers": {
    "ida-pro-mcp": {
      // 用短路径替代带空格的路径,无空格无需引号
      "command": "D:\\IDAPRO~1\\python311\\python.exe",
      "args": [
      "D:\\IDAPRO~1\\python311\\Lib\\site-packages\\ida_pro_mcp\\server.py",
      "--ida-rpc",
      "http://127.0.0.1:13337"
      ]
    }
}
}

Hmily 发表于 2025-9-22 12:05

贴图错了,帮你编辑了,你可以参看这里https://www.52pojie.cn/misc.php?mod=faq&action=faq&id=29&messageid=36

YCCLT 发表于 2025-9-22 13:49

Hmily 发表于 2025-9-22 12:05
贴图错了,帮你编辑了,你可以参看这里https://www.52pojie.cn/misc.php?mod=faq&action=faq&id=29&message ...

谢谢大佬!

cux666 发表于 2025-9-22 17:48

大模型,还免费,赞。

xixicoco 发表于 2025-9-23 00:06

很酷,以后都是ai了

sunflash 发表于 2025-9-23 10:37

感谢分享,已经收藏。我记得trae是一个单独的IDA。字节出的魔改vscode

gaibian45678 发表于 2025-9-23 12:12

谢谢分享。。。

pizazzboy 发表于 2025-9-23 16:34

感谢分享,留个记号,有空时操作配置试试。

YCCLT 发表于 2025-9-23 17:57

gjianbo 发表于 2025-9-23 06:07
我在创建智能体的时候选择 ida pro mcp提示工具过多,只能使用40个,而这个是47个,楼主是怎么解决的?

可以不勾选Trae-智能体-IDA下面的工具-内置-“预览”,因为用不到前端结果(其实勾上问题也不大,只是提示性质的)
页: [1] 2 3 4 5
查看完整版本: IDA+VSCode+Trae+MCP——免费且省事的半自动化逆向辅助