什么是 IDA Pro MCP
IDA Pro MCP 本质上是一个 Model Context Protocol (MCP) 服务器,它打通了 LLM(如 ChatGPT、Claude)与 IDA Pro 之间的壁垒。简单来说,就是让大模型能直接读取 IDA 里的函数、地址和伪代码,甚至能把处理结果写回 IDA。
这意味着我们可以直接用自然语言跟 IDA 对话,比如获取某个函数的伪代码、添加注释、重命名变量或搜索交叉引用。这比传统脚本更直观,大幅降低了静态分析的门槛。
核心功能概览
ida-pro-mcp 目前支持的接口主要分四类,覆盖了从查询到修改的全流程:
🧠 信息查询
| 方法 | 作用 |
|---|---|
check_connection() | 检查插件状态 |
get_metadata() | 获取 IDB 元数据 |
get_function_by_name(name) | 按名称查函数 |
list_functions(offset, count) | 分页列出所有函数 |
search_strings(pattern, offset, count) | 模糊搜字符串 |
get_xrefs_to(address) | 查某地址的交叉引用 |
🔎 静态分析辅助
| 方法 | 作用 |
|---|---|
decompile_function(address) | 获取指定函数的伪 C 代码 |
disassemble_function(start_address) | 获取汇编指令 |
✍️ 注释与重命名
| 方法 | 作用 |
|---|---|
set_comment(address, comment) | 加注释(支持伪码/汇编) |
rename_function(address, new_name) | 重命名函数 |
rename_local_variable(func_addr, old, new) | 重命名局部变量 |
🧬 类型定义和转换
| 方法 | 作用 |
|---|---|
set_function_prototype(addr, prototype) | 设置函数原型 |
declare_c_type(c_decl) | 定义结构体/类型 |
convert_number(text, size) | 进制转换 |
安装与部署
环境配置其实不复杂,但有几个细节需要注意。


