IDA Pro MCP - IDA 逆向工程 MCP 服务集成


一、项目概览

IDA Pro MCP 是为 IDA Pro 逆向工程软件提供的 MCP 服务实现,支持通过 MCP 协议与各类 AI 辅助工具进行交互。


相关资源


二、核心功能

MCP 服务接口

1、基础查询

  • check_connection: 检查 IDA 插件运行状态
  • get_metadata(): 获取当前 IDB 元数据
  • get_current_address(): 获取用户当前选中地址

2、函数分析

  • get_function_by_name(name): 按名称查询函数
  • decompile_function(address): 反编译指定地址函数
  • disassemble_function(start_address): 获取函数汇编代码

3、变量操作

  • rename_local_variable(): 重命名局部变量
  • set_global_variable_type(): 设置全局变量类型
  • declare_c_type(): 通过 C 声明创建本地类型

4、交叉引用

  • get_xrefs_to(address): 获取指定地址交叉引用
  • get_entry_points(): 获取所有入口点

三、环境要求


四、安装指南

自动安装

pip install --upgrade git+https://github.com/mrexodia/ida-pro-mcp
ida-pro-mcp --install

注意:安装后需完全重启 IDA 及相关 IDE 客户端


手动安装(高级用户)

1、安装 UV 工具链:

pip install uv  # Windows
curl -LsSf https://astral.sh/uv/install.sh | sh  # Linux/Mac

2、配置 MCP 服务端 JSON:

{
  "mcpServers": {
    "github.com/mrexodia/ida-pro-mcp": {
      "command": "uv",
      "args": ["--directory", "c:\\MCP\\ida-pro-mcp", "run", "server.py"]
    }
  }
}

五、使用建议

提示词工程

LLM 易产生幻觉,建议采用以下策略:
1、优先使用 convert_number 工具处理数值转换
2、分步骤操作:

  • 检查反编译结果并添加注释
  • 重命名变量和函数
  • 修正变量类型(特别是指针和数组)
    3、最终生成包含分析步骤的 report.md

精度优化技巧

1、预处理混淆代码:

  • 移除字符串加密
  • 处理控制流平坦化

2、使用 Lumina/FLIRT 识别库函数

3、配合 math-mcp 处理复杂运算


六、开发指南

功能扩展

1、在 mcp-plugin.py 中添加 @jsonrpc 装饰函数
2、开发测试:

uv run mcp dev src/ida_pro_mcp/server.py

3、访问测试接口:http://localhost:5173


版本管理

生成变更日志:

git log --first-parent --no-merges 1.2.0..main "--pretty=- %s"

七、同类方案对比

项目协议支持特点
taida957789/ida-mcp-server-pluginSSE需手动安装依赖
fdrechsler/mcp-server-idaproMCPTypeScript 实现
MxIris-Reverse-Engineering/ida-mcp-server自定义协议基础实现

伊织 xAI 2025-05-03(六)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程乐园

请我喝杯伯爵奶茶~!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值