项目简介
IDA Pro MCP服务器是一个桥梁,它使用 Model Context Protocol (MCP) 标准协议,使得AI助手能够与IDA Pro这一强大的反汇编和调试工具进行交互。通过这个服务器,AI助手可以执行IDA Pro的Python脚本,获取二进制文件的各种信息,从而实现自动化逆向工程和二进制分析任务。
主要功能点:
- 执行IDA Pro Python脚本: 允许AI助手远程执行IdaPython脚本,实现对IDA Pro的编程控制。
- 获取二进制文件信息: 提供接口获取二进制文件的字符串、导入表、导出表和函数列表等关键信息。
- 自动化IDA Pro操作: 通过标准化的MCP协议,AI助手可以自动化执行一系列IDA Pro操作,提升逆向分析效率。
- 安全通信: 组件间通信设计考虑了安全性,IDA Pro插件默认仅监听本地回环地址。
安装步骤:
-
安装 IDA Pro Remote Control 插件:
- 将 'ida_remote_server.py' 复制到 IDA Pro 的插件目录:
- Windows: '%PROGRAMFILES%\IDA Pro\plugins'
- macOS: '/Applications/IDA Pro.app/Contents/MacOS/plugins'
- Linux: '/opt/idapro/plugins'
- 启动 IDA Pro 并打开一个二进制文件。插件将自动启动HTTP服务器,默认监听 '127.0.0.1:9045'。
- 将 'ida_remote_server.py' 复制到 IDA Pro 的插件目录:
-
安装 MCP 服务器:
- 克隆仓库到本地:
git clone https://github.com/fdrechsler/mcp-server-idapro cd mcp-server-idapro - 安装依赖:
npm install - 构建项目:
npm run build
- 克隆仓库到本地:
服务器配置:
在你的AI助手的MCP设置文件中,配置IDA Pro MCP服务器。以下是一个示例配置,你需要根据实际情况修改 'path/to/mcp-server-idapro' 为你本地仓库的路径。
{ "mcpServers": { "ida-pro": { // 服务器名称,AI助手通过此名称引用 "command": "node", // 启动服务器的命令,这里使用 Node.js 运行 JavaScript "args": ["path/to/mcp-server-idapro/dist/index.js"], // 启动命令的参数,指向编译后的 index.js 文件 "env": {} // 环境变量,当前示例无需设置 } } }
基本使用方法:
配置完成后,AI助手即可使用名为 'ida-pro' 的MCP服务器。该服务器提供名为 'run_ida_command' 的工具,用于执行IDA Pro Python脚本。
示例:
假设你有一个IDA Pro脚本 '/path/to/script.py',内容如下:
# /path/to/script.py import idautils # 统计函数数量 function_count = len(list(idautils.Functions())) print(f"Binary has {function_count} functions") # 返回函数数量 return_value = function_count
AI助手可以使用以下指令调用 'run_ida_command' 工具执行该脚本:
<use_mcp_tool> <server_name>ida-pro</server_name> <tool_name>run_ida_command</tool_name> <arguments> { "scriptPath": "/path/to/script.py" } </arguments> </use_mcp_tool>
执行后,AI助手将获得脚本的输出结果。
安全提示:
IDA Pro Remote Control 插件默认只监听 '127.0.0.1',确保了本地访问的安全性。如果需要远程访问,请谨慎修改 'ida_remote_server.py' 中的配置,并充分了解安全风险。
信息
分类
桌面与硬件