Hex-Rays 前两天发布了官方的 IDA MCP 服务。
相比第三方 IDA MCP 封装的大量 Tools,官方 IDA MCP 只有 6 个 tools:
open_database execute_python reference list_databases save_database close_database
而实际执行逆向操作的只有 execute_python:让 Agent 编写 Python 代码交给 IDA 执行。Hex-Rays 把它称为 Code Mode,他们认为 LLM 已经很好地掌握了 IDA / IDAPython,擅长写程序组合 IDA 的能力。
这样说的话,官方设计确实比第三方 MCP 的「一种操作对应一个 tool」更容易组合,Token 消耗也更少。
所以标题是什么意思
文章标题描述了我的个人方案,不推荐给您,除非您也符合这样的条件:
- 日常工作都在 Linux,需要在 Linux 使用 Agent
- 只能/想运行 Windows 版的 IDA Pro
- 需要在 Windows 隔离分析,本就打算启动虚拟机
那么您可以这么做:
- 在 Windows 虚拟机安装 IDA Pro(需要 9.4 及以上版本)
- 在 Windows 虚拟机中安装 IDA MCP 服务 ida-mcp
- 在 Windows 虚拟机和 Linux 中安装并配置 WinApps
- 在 Windows 虚拟机中安装并启动 SSH 服务
在 Windows 虚拟机中启动 ida-mcp 的 HTTP 服务11.最好不要让 HTTP 监听
0.0.0.0来省去 SSH 转发操作,暴露面过大,这个 MCP 可是能够执行任意代码的。$ uvx ida-mcp http --host 127.0.0.1 --port 8737
在 Linux 中使用 SSH 转发端口
$ ssh -N -L 127.0.0.1:8737:127.0.0.1:8737 <User>@<IP>
在 Linux 中配置 Agent 的 MCP
{ "mcpServers": { "ida": { "type": "http", "url": "http://127.0.0.1:8737/mcp" } } }在 Linux 中使用 WinApps 启动 IDA Pro
$ winapps manual "C:\IDA Professional 9.4\ida.exe"
- 打开各种工具(和 Agent),享受舒适的逆向体验
WinApps 可以假装 IDA 像 Linux 原生应用一样运行,对于 MCP 操作不是必要的,但我舍不得省去这流畅体验的重要一环。
如果想更进一步,还可以在 WinApps 里添加 IDA Pro 应用:
创建
info文件# IDA Professional # GNOME shortcut name NAME="IDA Pro" # Used for descriptions and window class FULL_NAME="IDA Professional 9.4" # The executable inside Windows WIN_EXECUTABLE='C:\IDA Professional 9.4\ida.exe' # GNOME categories CATEGORIES="WinApps;Windows;Development" # GNOME mimetypes MIME_TYPES=""
- 提取图标,放在
$HOME/.local/bin/winapps-src/apps/ida-pro/icon.svg - 运行
winapps-setup --user --add-apps,选择添加应用「IDA Professional 9.4」
这样就可以用您心爱的应用启动器搜索打开「IDA Pro」了。
包括步骤 5「在 Windows 虚拟机中启动 ida-mcp 的 HTTP 服务」,也可以用 WinApps 启动 CMD / PowerShell 运行命令,假装只是 Linux 里的一个普通终端窗口。22.我真的很想在这附上一张屏幕截图,向您展示桌面小组件、终端、编辑器、IDA 等窗口全部统一样式的场景是多么和谐,但总找不到不暴露隐私的图片。
HTTP 服务可以改为使用 stdio,只不过这样就需要 SSH 直接执行命令,最好使用密钥认证,不然 MCP 连接时不方便处理密码输入。
{
"mcpServers": {
"ida": {
"type": "local",
"command": [
"ssh",
"-T",
"-i",
"/path/to/your_private_key",
"<User>@<IP>",
"uvx",
"--exclude-newer=1s",
"ida-mcp",
"stdio"
]
}
}
}
为了人类的未来
现在 AI 公司会装模作样地在意网络安全,所以这些请求可能会被拒绝,我简单试验了几家模型:
- GPT-6 拒绝率在一半以上,尤其在输出解密类的代码时
- GPT-5.6 出现了一定程度的请求拒绝
- GPT-5.5 没出现限制
- Claude Opus 5.5 明确提示拒绝,并说明可以换用 Opus 4.8 执行
- Claude Sonnet 5 没出现限制
DeepSeek API 据说没有任何限制,本地部署模型更不必说。
当然我并不是表达「工具只是工具」、「技术无罪」或与之完全相反的观念,我只是觉得 AI 公司提供的“网络安全限制”是纯粹的伪善。
它符合一切营销特征:建立信任、利用情绪、渲染焦虑、向您发送购买链接。这些特征同样适用于诈骗,区别在最后一步让您做什么,或您怎么看待营销。
“我们的产品太厉害了,可以影响您的工作岗位,所以您需要购买;我们的产品太厉害了,可以威胁国家安全,所以政府应该与我们合作;我们的产品太厉害了,可以毁灭人类的未来,所以……”
“为了人类共同的未来,我们要限制破坏性行为”,这种理由听起来无懈可击。但,是 GPT-5.5 和 Claude Opus 4.8 能力不足吗?几个月前你们可不是这么说的。