你是否曾经希望AI能够直接在IDA Pro中执行脚本、搜索指令、分析二进制文件,并自动化逆向工程任务?今天要介绍的开源项目MCP服务器IDA Pro版,正是为了实现这个目标而设计的。它由Florian Drechsler开发,通过MCP协议让AI助手能够与IDA Pro交互,执行逆向工程和二进制分析任务。

项目基本信息

信息项详情
项目名称MCP服务器IDA Pro版
GitHub地址https://github.com/fdrechsler/ida-pro-mcp-server
项目描述一种模型上下文协议服务器,可使AI助手与IDA Pro交互,以执行反向工程和二进制分析任务。
作者fdrechsler
开源协议MIT License
开源状态公开状态
LanguagesTypeScript, Python
支持平台Windows / macOS / Linux
最后更新2026-04-23

一、项目介绍

MCP服务器IDA Pro版是一个让AI助手能够与IDA Pro交互的桥梁。它由三个主要组件构成:

  • IDA Pro远程控制插件 (ida_remote_server.py):在IDA Pro内部创建一个HTTP服务器
  • IDA远程客户端 (idaremoteclient.ts):TypeScript客户端,与服务器交互
  • MCP服务器 (index.ts):向AI助手暴露IDA Pro的功能

通过这个工具,AI可以执行各种逆向工程任务:

  • 在IDA Pro中执行Python脚本
  • 检索二进制信息(字符串、导入、导出、函数)
  • 搜索立即数、文本字符串、字节序列
  • 获取地址范围内的反汇编代码
  • 自动化IDA Pro操作

二、核心优势

功能全面

提供了7个MCP工具,覆盖了逆向工程的核心需求:

  • run_ida_command:执行IDA Pro Python脚本
  • search_immediate_value:搜索指令中的立即数
  • search_text:搜索文本字符串
  • search_byte_sequence:搜索字节序列
  • get_disassembly:获取反汇编代码
  • get_functions:获取函数列表
  • get_exports / get_strings:获取导出和字符串

灵活的执行方式

支持三种方式执行Python脚本:

  • 通过文件路径执行
  • 通过原始正文执行
  • 通过JSON/Form POST请求

安全设计

默认只在127.0.0.1(本地主机)上监听,防止远程访问IDA Pro实例。

标准化接口

通过HTTP API和MCP协议提供标准化的接口,易于集成。

完整的API覆盖

IDA Pro远程控制插件暴露了完整的HTTP端点,可供其他工具直接调用。

三、适用场景

AI辅助逆向工程

让AI自动分析二进制文件,识别关键函数,搜索特定模式。

恶意软件分析

AI可以自动化执行分析脚本,提取IOC,生成报告。

漏洞研究

AI可以搜索特定的指令序列,识别潜在的漏洞模式。

CTF逆向挑战

在CTF比赛中,AI可以协助分析二进制文件,快速找到flag。

自动化分析流程

将IDA Pro操作集成到自动化分析管道中。

四、安装教程

系统要求

工具用途下载/安装方式
IDA Pro逆向工程软件[https://hex-rays.com/ida-pro/] (版本要求:8.3 或更高)
Node.jsJavaScript运行环境[https://nodejs.org/] (版本要求:18.0 或更高)
Git克隆仓库[https://git-scm.com/]
MCP客户端如Claude Desktop、Cursor等根据客户端官网下载

详细安装步骤

第一步:安装IDA Pro远程控制插件

ida_remote_server.py复制到IDA Pro的插件目录:

  • Windows:%PROGRAMFILES%\IDA Pro\plugins
  • macOS:/Applications/IDA Pro.app/Contents/MacOS/plugins
  • Linux:/opt/idapro/plugins

启动IDA Pro并打开一个二进制文件。插件会自动在127.0.0.1:9045上启动HTTP服务器。

第二步:安装MCP服务器

git clone https://github.com/fdrechsler/ida-pro-mcp-server.git
cd ida-pro-mcp-server
npm install
npm run build

第三步:配置MCP客户端

在MCP配置文件中添加:

{
  "mcpServers": {
    "ida-pro": {
      "command": "node",
      "args": ["/path/to/ida-pro-mcp-server/dist/index.js"],
      "env": {}
    }
  }
}

第四步:重启MCP客户端

保存配置文件后,重启Claude Desktop或Cursor。

五、使用示例

配置完成后,你就可以在MCP客户端中使用自然语言来调用IDA Pro的功能了。

示例1:执行Python脚本

用户指令:“在IDA Pro中执行一个脚本,统计二进制文件中的函数数量”

AI会调用run_ida_command工具,执行类似下面的脚本:

import idautils
import ida_name

function_count = len(list(idautils.Functions()))
print(f"Binary has {function_count} functions")

示例2:搜索立即数

用户指令:“在二进制文件中搜索立即数0x42”

AI会调用search_immediate_value工具:

{
  "value": "42",
  "radix": 16
}

示例3:搜索文本字符串

用户指令:“搜索二进制文件中的'password'字符串,不区分大小写”

AI会调用search_text工具:

{
  "text": "password",
  "caseSensitive": false
}

示例4:搜索字节序列

用户指令:“搜索字节序列90 90 90(三个NOP指令)”

AI会调用search_byte_sequence工具:

{
  "bytes": "90 90 90"
}

示例5:获取反汇编代码

用户指令:“获取从0x401000开始的10条指令的反汇编”

AI会调用get_disassembly工具:

{
  "startAddress": "0x401000",
  "count": 10
}

示例6:获取函数列表

用户指令:“列出二进制文件中的所有函数”

AI会调用get_functions工具。

示例7:直接调用HTTP API

你也可以直接通过curl调用IDA Pro远程控制API:

# 执行脚本
curl -X POST -H "Content-Type: application/json" \
  -d '{"script":"print(\"Hello from API\")"}' \
  http://127.0.0.1:9045/api/execute

# 获取函数列表
curl http://127.0.0.1:9045/api/functions

# 搜索立即数
curl "http://127.0.0.1:9045/api/search/immediate?value=42&radix=10"

六、常见问题

问题1:IDA Pro插件没有自动启动HTTP服务器

解决方案:

  • 确认插件文件已复制到正确的plugins目录
  • 完全重启IDA Pro
  • 检查插件是否被安全软件拦截

问题2:MCP客户端无法连接到IDA Pro

解决方案:

  • 确认IDA Pro已打开一个二进制文件
  • 确认HTTP服务器正在运行:访问http://127.0.0.1:9045/api/info
  • 检查防火墙是否阻止了9045端口

问题3:执行脚本时返回空输出

解决方案:

  • 脚本中的print输出会被捕获,确保使用print语句
  • 检查脚本是否有语法错误
  • 尝试使用绝对路径执行脚本文件

问题4:搜索功能返回0结果

解决方案:

  • 确认搜索值正确(立即数注意基数)
  • 扩大搜索范围(不指定startAddress/endAddress)
  • 检查二进制文件是否包含目标内容

问题5:Node.js版本要求

解决方案:MCP服务器需要Node.js 18或以上版本。通过node -v检查版本。

七、总结

MCP服务器IDA Pro版是另一个优秀的IDA Pro MCP实现,与之前介绍的IDA自动化反编译工具相比,它有自己独特的特点:通过HTTP API暴露IDA Pro功能,架构更清晰,易于调试和扩展。

这个项目的最大价值在于:

  1. HTTP API架构:通过标准的HTTP协议通信,易于调试和集成
  2. 功能完整:覆盖脚本执行、搜索、反汇编、信息检索等核心功能
  3. 灵活的执行方式:支持文件路径、原始正文、JSON等多种方式执行脚本
  4. 安全设计:默认仅本地监听,防止远程访问
  5. MIT许可证:可自由使用和修改

如果你是逆向工程师,并且希望将IDA Pro的能力集成到AI工作流中,MCP服务器IDA Pro版是一个非常好的选择。 它与另一个IDA MCP各有特色,可以根据具体需求选择。

标签: 开发者工具

已有 34 条评论

    1. KevinKeep KevinKeep

      IDA Pro 8.3是硬性要求,老版本不支持。

    2. LisaLink LisaLink

      安装步骤很简单,复制插件文件到目录就行。

    3. MikeMCP MikeMCP

      Node.js 18是必须的,版本要注意。

    4. NinaNote NinaNote

      与另一个IDA MCP可以同时使用,不冲突。

    5. OscarOpen OscarOpen

      我更喜欢这个的API设计,更标准化。