ida-pro-mcp安装

ida-pro-mcp 安装(要求python 3.11,建议用conda或者别的设置一个虚拟环境)

conda create -n ida-mcp python=3.11
conda activate ida-mcp
pip install git+https://github.com/mrexodia/ida-pro-mcp
ida-pro-mcp --install

这个过程应该会自动配置好mcp服务器,进cursor(或者其他支持mcp的代码编辑器)的mcp设置,修改json文件(主要是在参数args里面添加--unsafe

{
  "mcpServers": {
    "github.com/mrexodia/ida-pro-mcp": {
      "command": "D:\\anaconda3\\envs\\ida-mcp\\python.exe",
      "args": [
        "D:\\anaconda3\\envs\\ida-mcp\\Lib\\site-packages\\ida_pro_mcp\\server.py",
        "--unsafe"
      ],
      "timeout": 1800,
      "disabled": false,
      "autoApprove": [
        ...
      ],
      "alwaysAllow": [
        ...
      ]
    }
  }
}

unsafe模式有30多个工具,包括这些dbg的,如果没有这些dbg的说明unsafe没开
开启unsafe之后的mcp

ida 9.1配置

安装ida 9.1,教程可以去52pojie上面搜,有绿玩版

以管理员模式进入ida安装目录下,强制切换conda所使用的python(到同样的conda环境)

idapyswitch.exe --force-path xxx/python3.dll

例如

idapyswitch.exe --force-path D:\anaconda3\envs\ida-mcp\python3.dll

正确切换python之后的显示

一般来说前面安装了ida-pro-mcp就已经把ida插件装好了,我这里是点开ida的plugins就能看到mcp,点击mcp启动
启动插件

正确启动后的样子(这个端口一般是13337)
正确启动之后ida窗口的输出

远程服务器配置

为了能任意配置远程调试端,还需要实现远程服务器的配置

之前的操作都在宿主机,将宿主机ida安装目录dbgsrv下面的server文件拷贝到远程服务器(你的远程服务器是什么环境,就拷贝哪个,这里以linux为例)

./ida91/dbgsrv目录

在远程服务器(待调试程序的环境)上运行(端口默认为23946)
启动server

回到宿主机,在菜单的debugger里面配置远程调试,这里要选linux不是gdb(废话,都用ida了为什么要用gdb)
配置ida远程服务-1

尝试点击上面的绿三角开始调试程序,ida会自动弹出来窗口让你填服务器地址。
这里填的地址是远程服务器里面的文件地址(如果你没有在服务器上启动linux_server服务就会报这种错误)
配置ida远程服务-2

正确运行之后服务器的反馈
服务器反馈
其中192.xxx是宿主机的地址,172.xxx是服务器的地址

最终效果

ida远程调试界面

cursor界面

参考链接

ida-pro-mcp项目地址
使用ida-pro-mcp静态分析
ida切换python
ida动态分析

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐