论坛首页 逆向工程技术区 阅读主题

[分享]IDA-Script-MCP:基于 MCP 的二进制分析自动化方案

243 浏览 13 回复
#1 楼主 2026-06-01 21:09:16
项目地址:ab2K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6e0N6g2A6A6h3s2g2F1h3i4g2W2i4K6u0r3K9h3c8S2i4K6u0V1M7$3y4J5K9i4m8@1i4K6u0V1L8h3y4H3IDA-Script-MCP 是一个基于 MCP(Model Context Protocol)协议的桥梁工具,它让 Claude、Cursor 等 AI 助手能够直接在 IDA Pro 中执行 IDAPython 脚本。运行在 IDA Pro 内部,提供 HTTP 服务端:关键设计:提供四个核心工具给 AI 助手:一键安装插件并配置 MCP 客户端,支持:安装完成后:如果你用的是 Cursor、VS Code 等其他支持 MCP 的客户端,方法类似:查看预设支持的客户端:输出示例:注意:--list-clients 列出的是有预设配置路径的客户端。实际上,任何支持 MCP 协议的客户端都可以使用本项目,只需手动添加 MCP 配置即可。手动配置方法:在客户端的 MCP 配置文件中添加:如果你使用虚拟环境,把 python 换成虚拟环境中的 Python 路径。如果想在项目级别配置(适合团队协作),加上 --project 参数:现在你可以直接对 Claude 说:用户: "帮我分析这个 crackme 的基本信息"Claude 执行:用户: "找出所有名字包含 'encrypt' 的函数"Claude 执行:用户: "谁调用了地址 0x401000 的函数?"Claude 执行:用户: "反编译 sub_401100 并解释它的逻辑"Claude 执行:当你同时打开多个 IDA 实例时:你可以指定实例:团队协作时,可以在项目目录创建 .mcp.json:这样每个项目可以有不同的 IDA 实例配置。⚠️ 重要提醒:此工具允许 AI 执行任意 Python 代码,请务必:项目还包含完整的 IDAPython 模块文档(idapython/docs/),覆盖 50+ 个 ida_* 模块,让 AI 能够准确使用 IDA API。IDA-Script-MCP 打通了 AI 助手与 IDA Pro 之间的壁垒,让逆向工程师能够:项目地址: 391K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6&6L8%4g2J5N6i4y4W2M7X3&6S2L8h3g2Q4x3V1k6A6k6r3q4Q4x3X3c8K6j5%4u0A6M7s2c8Q4x3X3c8E0j5%4l9`.声明:本文仅用于技术交流,请遵守相关法律法规,不要用于非法用途。


特性
说明


AI 驱动分析
Claude 直接操作 IDA Pro,执行反编译、分析等任务


多实例支持
同时分析多个二进制文件,跨不同 IDA 实例


完整 API 访问
支持所有 IDA 模块(idaapi、ida_hexrays、idautils 等)


一键安装
一条命令完成插件安装和 MCP 客户端配置


跨平台
支持 Windows、macOS、Linux

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-290764.htm
#2 2026-06-01 21:09:16
idat -A -S"xx.py" xx.exe
#3 2026-06-01 21:09:16
tql
#4 2026-06-01 21:09:16
tql
#5 2026-06-01 21:09:16
tql
#6 2026-06-01 21:09:16
你得说说跟621K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6E0M7X3g2^5L8$3c8A6j5g2)9J5c8X3W2V1j5g2)9J5k6s2m8J5L8#2)9J5k6r3#2U0M7q4)9J5y4X3&6T1M7%4m8Q4x3@1u0Q4c8e0g2Q4z5e0u0Q4z5p5y4Z5N6s2c8H3M7#2)9K6b7g2)9J5c8W2)9J5c8X3N6A6N6r3S2#2j5W2)9J5k6h3y4G2L8g2)9J5c8X3u0D9j5h3y4C8N6r3!0H3i4K6u0r3K9h3c8S2i4K6u0V1L8h3y4H3i4K6u0V1M7Y4y4Q4x3U0k6F1j5Y4y4H3i4K6y4n7i4@1f1%4i4@1q4p5i4K6R3&6i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1#2i4K6S2o6i4@1u0m8i4@1f1#2i4K6R3^5i4@1q4n7i4@1f1#2i4K6V1#2i4K6S2m8i4K6t1$3L8X3u0K6M7q4)9K6b7W2)9J5y4X3&6T1M7%4m8Q4x3@1t1`.
#7 2026-06-01 21:09:16
请问,ida 你门的版本都是从哪里来的啊,自己买的话好贵啊
#8 2026-06-01 21:09:16
cecini

你得说说跟320K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6E0M7X3g2^5L8$3c8A6j5g2)9J5c8X3W2V1j5g2)9J5k6s2m8J5L8#2)9J5k6r3#2U0M7l9`.`. 和a93K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6T1L8r3q4U0K9%4c8G2M7q4)9J5c8X3W2V1j5g2)9J5k6r3#2U0M7q4)9J5k6s2u0K6 等的区别啊
直观感受上可以说没啥区别,想用哪个用哪个。一定要说有区别就是我觉得没必要给mcp写那么多接口,直接给一个运行python脚本的接口就可以了,能在一次操作中进行更复杂的操作,不用让ai反复调用mcp
#9 2026-06-01 21:09:16
苏子寻月zzy

直观感受上可以说没啥区别,想用哪个用哪个。一定要说有区别就是我觉得没必要给mcp写那么多接口,直接给一个运行python脚本的接口就可以了,能在一次操作中进行更复杂的操作,不用让ai反复调用mcp
ida-pro-mcp这东西问题挺大的,50+工具会撑爆上下文,我重写了一套符合llm渐进式披露,给一个python接口,最佳实践的mcp
#10 2026-06-01 21:09:16
苏子寻月zzy

直观感受上可以说没啥区别,想用哪个用哪个。一定要说有区别就是我觉得没必要给mcp写那么多接口,直接给一个运行python脚本的接口就可以了,能在一次操作中进行更复杂的操作,不用让ai反复调用mcp
ida-pro-mcp还有个致命的问题,llm总会调用错tools_call,因为他根本没在tool说明给出调用例子,要llm瞎猜好几次
#11 2026-06-01 21:09:16
qj111111

ida-pro-mcp这东西问题挺大的,50+工具会撑爆上下文,我重写了一套符合llm渐进式披露,给一个python接口,最佳实践的mcp
认同,不过ida-pro-mcp出来的比较早,那个时候ai写代码的能力还不是很强,容易出错。现在的AI不存在这个问题了,直接让运行python脚本更好。
#12 2026-06-01 21:09:16
论坛发的泄露版你都不看的吗
#13 2026-06-01 21:09:16
SnowFox

论坛发的泄露版你都不看的吗
???
#14 2026-06-01 21:09:16
好用

请登录后参与讨论

立即登录 注册账号