IDA Pro MCP 服务器
模型上下文协议 (MCP) 服务器使 AI 助手能够与 IDA Pro 交互以进行逆向工程和二进制分析任务。
概述
该项目在AI助手和IDA Pro之间架起了一座桥梁。IDA Pro是一款流行的反汇编和调试器,用于逆向工程软件。它由三个主要组件组成:
IDA Pro 远程控制插件(
ida_remote_server.py):一个 IDA Pro 插件,可创建 HTTP 服务器来远程控制 IDA Pro 功能。IDA 远程客户端(
idaremoteclient.ts):用于与 IDA Pro 远程控制服务器交互的 TypeScript 客户端。MCP 服务器(
index.ts):向 AI 助手公开 IDA Pro 功能的模型上下文协议服务器。
特征
通过 AI 助手在 IDA Pro 中执行 Python 脚本
检索有关二进制文件的信息:
字符串
导入
出口
功能
高级二进制分析功能:
在指令中搜索立即值
在二进制文件中搜索文本字符串
搜索特定的字节序列
获取地址范围的反汇编
通过标准化界面自动化IDA Pro操作
组件之间的安全通信
先决条件
IDA Pro 8.3 或更高版本
Node.js 18 或更高版本
TypeScript
示例用法ida_remote_server.py
MCP 服务器使用示例

安装
1.安装IDA Pro远程控制插件
将
ida_remote_server.py复制到您的 IDA Pro 插件目录:Windows:
%PROGRAMFILES%\IDA Pro\pluginsmacOS:
/Applications/IDA Pro.app/Contents/MacOS/pluginsLinux:
/opt/idapro/plugins
启动 IDA Pro 并打开一个二进制文件。
该插件将自动在
127.0.0.1:9045上启动 HTTP 服务器。
2. 安装 MCP 服务器
克隆此存储库:
git clone <repository-url> cd ida-server安装依赖项:
npm install构建项目:
npm run build在您的 AI 助手的 MCP 设置文件中配置 MCP 服务器:
{ "mcpServers": { "ida-pro": { "command": "node", "args": ["path/to/ida-server/dist/index.js"], "env": {} } } }
用法
一旦安装并配置完成,MCP 服务器将为 AI 助手提供以下工具:
运行ida命令
执行 IDA Pro Python 脚本。
参数:
scriptPath(必需):要执行的脚本文件的绝对路径outputPath(可选):保存脚本输出的绝对路径
例子:
然后,AI 助手可以使用此脚本:
搜索立即值
在二进制指令中搜索立即值。
参数:
value(必需):要搜索的值(数字或字符串)radix(可选):数字转换的基数(默认值:16)startAddress(可选):搜索的起始地址endAddress(可选):搜索的结束地址
例子:
搜索文本
在二进制文件中搜索文本字符串。
参数:
text(必填):要搜索的文本caseSensitive(可选):搜索是否区分大小写(默认值:false)startAddress(可选):搜索的起始地址endAddress(可选):搜索的结束地址
例子:
搜索字节序列
在二进制中搜索特定的字节序列。
参数:
bytes(必需):要搜索的字节序列(例如,“90 90 90”表示三个 NOP)startAddress(可选):搜索的起始地址endAddress(可选):搜索的结束地址
例子:
获取反汇编
获取某个地址范围的反汇编。
参数:
startAddress(必需):反汇编的起始地址endAddress(可选):反汇编的结束地址count(可选):要反汇编的指令数量
例子:
获取函数
从二进制文件中获取函数列表。
参数:
无需
例子:
获取导出
获取二进制文件的导出列表。
参数:
无需
例子:
获取字符串
从二进制文件中获取字符串列表。
参数:
无需
例子:
IDA Pro 远程控制 API
IDA Pro 远程控制插件公开以下 HTTP 端点:
GET /api/info:获取插件信息GET /api/strings:从二进制文件中获取字符串GET /api/exports:从二进制文件中获取导出GET /api/imports:从二进制文件中获取导入GET /api/functions:获取函数列表GET /api/search/immediate:在指令中搜索立即值GET /api/search/text:在二进制文件中搜索文本GET /api/search/bytes:在二进制文件中搜索字节序列GET /api/disassembly:获取地址范围的反汇编POST /api/execute:执行 Python 脚本(JSON/Form)POST /api/executebypath:从文件路径执行 Python 脚本POST /api/executebody:从原始主体执行 Python 脚本
安全注意事项
出于安全考虑,IDA Pro 远程控制插件默认仅监听127.0.0.1 (localhost)。这将阻止远程访问您的 IDA Pro 实例。
如果需要允许远程访问,可以修改ida_remote_server.py中的DEFAULT_HOST变量,但要注意安全隐患。
发展
从源代码构建
运行测试
执照
本项目遵循 MIT 许可证。详情请参阅LICENSE文件。
作者
弗洛里安·德雷克斯勒 (@fdrechsler) fd@fdrechsler.com
Related MCP Servers
- Asecurity-licenseAqualityA Model Context Protocol server for IDA interaction and automation. This server provides tools to read IDA database via Large Language Models.Last updated -19479MIT License
- Asecurity-licenseAqualityMCP Server for automated reverse engineering with IDA Pro.Last updated -433,847MIT License
- -security-license-qualityA Model Context Protocol server that allows AI assistants to invoke and interact with Integrator automation workflows through an API connection.Last updated -10MIT License
- Asecurity-licenseAqualityA Model Context Protocol server that enables AI assistants to interact with Coda documents, allowing operations like listing, creating, reading, updating, and duplicating pages.Last updated -109928MIT License