关于 idamesh
idamesh 是面向使用 IDA Pro 的逆向工程师和安全分析人员的 MCP 服务,提供反汇编、反编译、二进制分析和编辑工具,并可协调多个数据库会话并行工作。
主要功能
- 01反汇编与 Hex-Rays 反编译
- 02二进制搜索和结构化查询
- 03安全排查与数据流分析
- 04重命名、注释和修补二进制
- 05并行数据库会话与编辑合并
适用场景
- 01检查函数、类型和调用图
- 02排查二进制中的漏洞或加密算法
- 03让多个 Agent 并行分析同一二进制
- 04应用并合并注释或补丁
MCP 相关
idamesh 将 IDA Pro 功能作为 MCP 工具和只读 `ida://…` 资源提供。它支持 stdio worker 和 Streamable HTTP 端点,也可通过 supervisor 管理多个数据库会话。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
idamesh
一个面向 IDA Pro 的 Model Context Protocol(MCP)服务。它将 IDA 的反汇编器和 Hex-Rays 反编译器作为工具和资源提供给 MCP 客户端(Claude 等),并通过一个监管器在单个端点后接入多个数据库,让多个 Agent 可以并行工作。
功能
- 读取 — 反编译(Hex-Rays)、反汇编、交叉引用、调用图、类型和结构体检查、内存读取,以及字符串/字节/文本搜索。
- 查询 — 针对函数、指令、交叉引用、类型和导入项的结构化筛选。
- 分析 — 概览/分类、加密和危险 API 检测、漏洞启发式分析、栈字符串重建,以及数据流/污点追踪。
- 修改 — 重命名、注释、修改类型、定义代码和数据、编辑栈帧、修补字节/汇编、书签,以及导出/导入注释。
- 并行处理 — 通过私有副本打开每个数据库,让多个 Agent 同时处理同一个二进制文件,并将修改合并回一个数据库。
只读 IDB 状态也会映射为 ida://… MCP 资源。
要求
- Python 3.9+
- 已授权的 IDA Pro 安装,并提供
idapro/idalibPython API。将IDADIR环境变量指向你的 IDA 安装目录。
安装
pip install idamesh
也可以从克隆的仓库进行开发安装:
pip install -e .[dev] # editable install + pytest, to run the test suite
这会提供 idamesh 命令,包含三个子命令:worker、supervisor 和 install。
用法
无头工作器 — 在 stdio 上处理一个数据库(由客户端启动):
idamesh worker /path/to/target.exe
监管器 — 通过一个 HTTP 端点接入多个数据库:
idamesh supervisor # http://127.0.0.1:8745/mcp
使用 idb_open / idb_list / idb_close 工具在其后打开和关闭数据库;使用可选的 database 键将任意工具路由到某个会话(仅打开了一个数据库时可省略)。两次打开同一个二进制文件会生成两个相互独立的会话;idb_merge 会协调并合并它们的修改。
GUI 插件 — 通过当前打开的 IDA 数据库提供 MCP 服务:
idamesh install # deploy the plugin into IDA's user directory, then restart IDA
运行 idamesh supervisor(或设置 IDAMESH_AUTOLAUNCH_SUPERVISOR=1 让插件启动监管器),然后在 IDA 中打开一个二进制文件 — 监管器会接管此实时会话并将请求路由到该会话。
工作器(--transport http)和监管器都通过单一 /mcp 端点使用 MCP Streamable HTTP,绑定到回环地址,并进行 Origin 验证。
从 Claude Code 连接
claude mcp add --scope user --transport http idamesh http://127.0.0.1:8745/mcp
也可以直接启动单个 stdio 工作器:
claude mcp add --scope user -e IDADIR=/path/to/IDA-Pro \
idamesh -- idamesh worker /path/to/target.exe
测试
pip install -e .[dev]
python -m pytest -q
如果 IDA 不可用(未设置 IDADIR),实时 idalib 端到端测试会正常跳过,因此即使未安装 IDA,测试套件也能通过。
许可证
MIT。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。