README
🚀 IDA Pro MCP 服务器插件
IDA Pro MCP 服务器插件允许通过模型上下文协议(MCP)接口远程查询和控制IDA Pro,能让 AI 助手(如 Claude)直接参与 IDA Pro 的二进制分析任务。
🚀 快速开始
该插件可助力 AI 助手与 IDA Pro 协同完成二进制分析。你只需按如下步骤操作,就能让插件发挥作用:
- 安装 Python 及相关依赖项。
- 将插件文件复制到 IDA Pro 插件目录。
- 配置 Claude 或 VSCode。
- 在 IDA Pro 中打开二进制文件,连接 AI 助手,开启分析。
✨ 主要特性
- 功能丰富:提供获取字节数据、汇编代码、反编译伪代码、函数名称、段信息等一系列操作。
- 远程控制:允许通过 MCP 接口远程查询和控制 IDA Pro。
- AI 集成:方便 AI 助手(如 Claude)直接参与二进制分析。
📦 安装指南
⚠️ 重要提示
该插件专为 IDA Pro 版本 9.0+ 设计并进行了测试。
安装依赖
确保已安装 Python 及相关依赖项,可使用以下命令:
pip install -r requirements.txt
复制插件文件
将 ida-mcp-server.py 文件复制到 IDA Pro 插件目录中:
- Windows:
%Programfiles%\IDA Pro 9.0\plugins\ - Linux:
~/.idapro/plugins/ - macOS:
~/Library/Application Support/IDA Pro/plugins/
配置 Claude / VSCode
在 Claude 或 VSCode 的 mcp.json 文件中添加以下配置:
{
"mcpServers": {
"IDAPro": {
"url": "http://127.0.0.1:3000/sse",
"type": "sse"
}
}
}
💻 使用示例
基础用法
- 在 IDA Pro 中打开一个二进制文件。
- 插件将自动加载并启动本地 MCP 服务器(端口 3000)。
- 将您的 AI 助手(例如Claude)连接到此服务器。
- 使用 AI 助手执行二进制分析任务。
📚 详细文档
可用的分析工具
IDA Pro MCP 服务器提供以下工具:
| 工具名称 | 功能 |
| ---- | ---- |
| get_bytes | 获取指定地址的字节数据 |
| get_disasm | 获取指定地址的汇编代码 |
| get_decompiled_func | 获取包含指定地址的函数的伪代码 |
| get_function_name | 获取指定地址处的函数名称 |
| get_segments | 获取所有段信息 |
| get_functions | 获取二进制文件中的所有函数 |
| get_xrefs_to | 获取指定地址的所有交叉引用 |
| get_imports | 获取所有导入的函数 |
| get_exports | 获取所有导出的函数 |
| get_entry_point | 获取二进制文件的入口点 |
| make_function | 在指定地址处创建函数 |
| undefine_function | 取消定义指定地址处的函数 |
| get_dword_at | 获取指定地址处的双字(dword) |
| get_word_at | 获取指定地址处的单词(word) |
| get_byte_at | 获取指定地址处的字节(byte) |
| get_qword_at | 获取指定地址处的八字(qword) |
| get_float_at | 获取指定地址处的浮点数(float) |
| get_double_at | 获取指定地址处的双精度浮点数(double) |
| get_string_at | 获取指定地址处的字符串 |
| get_string_list | 获取二进制文件中的所有字符串 |
| get_strings | 获取二进制文件中的所有字符串(带地址) |
最佳实践
在分析二进制文件时,建议遵循以下步骤:
- 检查入口点
- 分析导入表
- 查看字符串
- 跟踪关键 API 调用
- 识别主要功能块
- 分析控制流
- 识别恶意行为
- 分析算法和加密例程
- 文档记录分析结果
- 使用高级技术
📄 许可证
本项目采用 MIT License。
版权 (c) 2023
本软件的版权所有者授予任何获得本软件及其相关文档文件副本的人(“软件”),在无限制的情况下使用、复制、修改、合并、发布、分发、进行 sublicense 和/或 sell 的权利,但需遵守以下条件:
- 在分发的任何副本中保留所有版权声明和许可声明。
- 不对本软件承担保证责任。无论任何形式的合同、 TORT 还是其他责任,作者或版权所有者均不对因使用或操作或其他与本软件有关的事宜引起的任何直接、间接、附带、特殊、示范性或后果性损害负责。
Scan to contact