| name | ida-skill |
| description | IDA Pro MCP integration for reverse engineering and binary analysis. Use when installing/connecting IDA Pro MCP, performing decompilation, function analysis, or working with executables in IDA Pro. |
IDA Pro MCP 集成技能
概述
本技能提供完整的 IDA Pro MCP 插件集成,支持 Claude Code 与 IDA Pro 的实时通信,用于二进制逆向工程分析。包含安装配置、连接设置、逆向工程工作流程和常见分析任务。
快速入门
当用户需要与 IDA Pro 交互进行逆向工程分析时,使用此技能。典型场景包括:
- 安装和配置 IDA Pro MCP 插件
- 连接 Claude Code 到 IDA Pro 实例
- 反汇编和分析二进制文件(.exe, .dll, .so, .bin)
- 执行函数分析、字符串提取、交叉引用查找
- 重命名函数、设置类型、添加注释
安装 IDA Pro MCP 插件
前提条件
- IDA Pro 7.7+ 或 IDA Free 8.3+
- Python 3.6+ 已安装并在 IDA 中可用
- 网络访问权限(用于 MCP 通信)
安装步骤
-
下载 MCP 插件
- 从 GitHub 仓库下载
ida-pro-mcp 插件
- 解压到 IDA Pro 插件目录:
%IDADIR%/plugins/
-
配置插件
- 编辑
mcp_config.json 文件
- 设置端口(默认:13337)和主机(默认:127.0.0.1)
- 配置允许的客户端 IP(建议:127.0.0.1)
-
启动插件
-
验证安装
- 访问
http://127.0.0.1:13337/mcp 查看可用工具
- 应返回 60+ 个工具列表
连接 Claude Code 到 IDA Pro
配置 Claude Code MCP 设置
-
编辑 Claude Code 设置文件
- 打开
settings.json(位于 Claude Code 配置目录)
- 添加 IDA Pro MCP 服务器配置:
{
"mcpServers": {
"ida-pro-mcp": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/idapro-mcp-client", "--port", "13337"],
"env": {
"IDA_MCP_HOST": "127.0.0.1",
"IDA_MCP_PORT": "13337"
}
}
}
}
-
替代方案:使用 URL 直接连接
{
"mcpServers": {
"ida-pro-mcp": {
"url": "http://127.0.0.1:13337/mcp"
}
}
}
验证连接
-
启动连接
- 重启 Claude Code 以加载新配置
- 确保 IDA Pro 正在运行且 MCP 服务器已启动
-
检查可用工具
- 使用
ListMcpResourcesTool 查看 IDA 资源
- 验证工具列表包含 IDA 特定工具(如
decompile, disasm, xrefs_to)
-
故障排除
- 问题:Claude Code 只显示 3 个工具
- 原因:可能连接到代理回退工具而非真实 IDA 工具
- 解决方案:
- 完全退出 Claude Code
- 确认 IDA 已打开二进制文件且 MCP 服务正在运行
- 重新连接 MCP 服务器
逆向工程工作流程
1. 加载和初步分析二进制文件
open_file("C:/path/to/binary.exe")
2. 获取二进制概览
survey_result = survey_binary()
3. 函数分析工作流
列出所有函数
functions = list_funcs()
分析特定函数
function_info = analyze_function("0x401000")
反编译函数
pseudocode = decompile("0x401000")
4. 字符串分析
strings = find(type="string", targets=["password", "admin"])
5. 交叉引用分析
xrefs = xrefs_to("0x401234")
6. 类型和重命名
rename(batch={
"func": [{"addr": "0x401000", "name": "parse_config"}]
})
set_type(edits=[{
"addr": "0x401000",
"ty": "int __cdecl parse_config(const char *config_path)"
}])
常见分析任务示例
任务 1:分析 NSIS 安装程序(如 flux-setup.exe)
open_file("flux-setup.exe")
overview = survey_binary()
entry_point = overview["entry_points"][0]
entry_func = analyze_function(entry_point)
install_strings = find_regex("install|setup|extract|copy")
main_install = lookup_funcs(["start", "main", "WinMain"])
任务 2:分析恶意软件样本
suspicious_apis = find(type="string", targets=[
"CreateRemoteThread", "VirtualAlloc",
"WriteProcessMemory", "RegSetValue"
])
network_funcs = find_regex("http|socket|connect|send|recv")
urls = find_regex("https?://[^\s]+")
crypto_patterns = find_bytes("33 C0 8B ? ?? ?? ?? ??")
任务 3:分析驱动程序漏洞
ioctl_handlers = find_regex("IRP_MJ_DEVICE_CONTROL|IoControlCode")
buffer_ops = insn_query(mnem="memcpy", max_scan_insns=10000)
validation_checks = insn_query(mnem="cmp", op_any=0)
故障排除指南
常见问题
-
MCP 服务器未启动
- 症状:无法连接到
http://127.0.0.1:13337
- 解决:在 IDA 中手动启动 MCP 插件
-
工具列表不完整
- 症状:Claude Code 只显示 3 个通用工具
- 解决:检查连接配置,确保连接到正确的 MCP 服务器
-
IDA 无响应
- 症状:工具调用超时或失败
- 解决:检查 IDA 是否在处理大型二进制文件,尝试轻量级操作
-
权限问题
- 症状:无法打开文件或写入注释
- 解决:以管理员身份运行 IDA Pro(Windows)或检查文件权限
调试步骤
-
验证 MCP 服务器状态:
curl http://127.0.0.1:13337/mcp
-
检查 Claude Code 日志:
- 查看 Claude Code 输出中的 MCP 连接信息
-
手动测试工具:
curl -X POST http://127.0.0.1:13337/mcp/tools/call \
-H "Content-Type: application/json" \
-d '{"name": "list_funcs", "arguments": {}}'
资源引用
本技能包含以下资源文件,可在需要时查阅:
scripts/
analyze_nsis.py - NSIS 安装程序分析脚本
malware_analysis.py - 恶意软件分析辅助脚本
ida_automation.py - IDA 自动化实用函数
references/
api_reference.md - 完整的 MCP 工具 API 参考
ida_basics.md - IDA Pro 逆向工程基础
binary_formats.md - 常见二进制文件格式解析
assets/
sample_binaries/ - 用于练习的样本二进制文件
ida_templates/ - IDA 分析模板和脚本
注意:使用此技能时,请确保遵守相关法律法规,仅对您拥有合法权限的二进制文件进行分析。