前言
当前 LLM 已能辅助完成部分静态分析工作。本文介绍如何将官方 Hex-Rays IDA MCP 接入 Agent,并通过 IDALib 以无头模式(headless)分析目标二进制或 .i64 数据库。本文以 Pi Agent 为例,同时提供官方插件安装与 MCP Adapter 手动配置两种方式
无头模式的工作模式:
Agent
│ MCP stdio
▼
官方 ida-mcp
│
▼
IDALib / idat worker
│
▼
目标二进制或 .i64 数据库
一键安装
如果使用常规安装安装了 IDA 那么可以一键安装MCP
Claude Code:
claude plugin marketplace add HexRaysSA/claude-marketplace
claude plugin install ida-mcp@HexRaysSACodex CLI:
codex plugin marketplace add HexRaysSA/codex-marketplace
codex plugin add ida-mcp@HexRaysSAPi:
(需要安装git)
pi install git:github.com/HexRaysSA/ida-mcp@latestGitHub Copilot CLI:
copilot plugin marketplace add HexRaysSA/copilot-marketplace
copilot plugin install ida-mcp@HexRaysSA手动安装
如果上述一键安装不适用,那么可以手动安装
新装IDA 先启动GUI一次 接受许可协议
准备工作
需要准备的东西如下:
- IDAPro 9.4+ (含 IDALib)
- IDA MCP 项目地址:https://github.com/HexRaysSA/ida-mcp
- Python 3.11+
- uv
- MCP Agent (这里使用Pi Agent)
安装与配置
现在开始安装与配置
使用winget安装
这是最方便也是最推荐的,Windows 10 1809 及以上版本通常可使用 winget:
打开PowerShell终端,直接输入
winget install --id Python.Python.3.12 -e
winget install --id astral-sh.uv -e将会自动安装Python312 与 uv (交互输入选择Y)
手动安装
如果提示winget命令不存在那么可以参考这篇文章来安装winget,或是手动安装Python312和uv:
Python312
打开Python官方下载页面:https://www.python.org/downloads/windows/
下载Windows Install(64-bit) 或 Windows Install(32-bit)(一般都是64-bit)
下载完成后打开,记得勾选Add python.exe to PATH,保留pip 和 Python Launcher
点击Install Now
安装结束后关闭并重新打开 PowerShell
uv
在 PowerShell 中执行官方安装脚本:
powershell -ExecutionPolicy Bypass -c "irm https://astral.sh/uv/install.ps1 | iex"安装脚本默认将 uv.exe、uvx.exe 放到当前用户的本地可执行目录,并加入用户 PATH。重新打开 PowerShell 后即可使用
如果不允许执行 PowerShell 脚本,也可以从 GitHub Releases 手动下载 Windows x64 版本:https://github.com/astral-sh/uv/releases/latest
下载后解压 uv-x86_64-pc-windows-msvc.zip,将其中的 uv.exe 和 uvx.exe 放到 %USERPROFILE%\\.local\\bin
然后将该目录加入到用户 PATH
配置
激活IDALib
IDALib 是 IDA 的库模式接口,可在不启动 GUI 的情况下进行分析
cd到IDA的安装目录
cd D:\IDA Professional 9.4然后
python ".\idalib\python\py-activate-idalib.py" -d "D:\IDA Professional 9.4"注意:-d选项后面是输入IDA安装目录的绝对路径
该命令会生成或更新:%APPDATA%\Hex-Rays\IDA Pro\ida-config.json
配置文件应指向IDA安装目录
配置ida-headless到Agent
本节仅适用于使用 pi-mcp-adapter 的用户。若已通过 pi install git:github.com/HexRaysSA/ida-mcp@latest 安装官方 Pi 扩展,无需再添加此配置
打开%USERPROFILE%\.pi\agent\mcp-adapter.json
添加如下配置,需要根据你的当前环境进行替换
{
"mcpServers": {
"ida-headless": {
"command": "uvx",
"args": [
"--exclude-newer=1s",
"ida-mcp",
"stdio",
"--agent=pi-mcp-adapter"
],
"env": {
"IDADIR": "D:\\IDA Professional 9.4",
"IDA_NEXUS_IDALIB_ONLY": "1"
},
"lifecycle": "lazy-keep-alive",
"idleTimeout": 30,
"requestTimeoutMs": 600000,
"toolPrefix": "server",
"description": "Official Hex-Rays IDA MCP using headless IDALib",
"openUi": false
}
}
}如果 Pi 找不到 uvx,那么就要将 command 改成 uvx 的绝对路径,例如:
"command": "C:\\Users\\你的用户名\\.local\\bin\\uvx.exe"保存配置后,重启或重新加载 Agent
Pi 可在聊天框中输入 /reload 重新加载配置

此时就可以使用LLM来调用IDAPro进行静态分析了。