IDA Pro+MCP+DeepSeek逆向小实战:构建AI逆向分析

admin 2025年4月10日17:12:24评论4 views字数 5322阅读17分44秒阅读模式
IDA Pro MCP: 让AI赋能逆向工程

IDA Pro集成MCP的小实战:构建DeepSeek智能逆向分析工作流

一、MCP简介

Model Context Protocol(MCP)作为Anthropic推出的标准化通信接口,可以将AI模型与外部数据源和工具建立安全的双向连接,为AI模型提供了连接不同数据源和服务的一种标准化手段。简单来说,MCP 是一个开放协议,将应用程序向大语言模型 (LLM)提供上下文的方式进行了标准化。

IDA Pro+MCP+DeepSeek逆向小实战:构建AI逆向分析

MCP的核心组件是:

  • • 主机(Host):运行AI助手或一些支持 MCP 的应用环境(如Cherry Studio、Claude App)
  • • MCP 客户端(MCP Client):客户端运行于主机上,按照服务器获取的信息处理 AI请求,并与服务器通信
  • • MCP 服务器(MCP Server):连接数据源或服务的中间连接层(如数据库、API)
假设你正在使用 Claude Desktop (Host) 询问:"我桌面上有哪些文档?"时,整个流程是这样的:你的问题 → Claude Desktop(Host) → Claude 模型 → 需要文件信息 → MCP Client 连接 → 文件系统 MCP Server → 执行操作 → 返回结果 → Claude 生成回答 → 显示在 Claude Desktop 上。
https://zhuanlan.zhihu.com/p/29001189476
IDA Pro+MCP+DeepSeek逆向小实战:构建AI逆向分析

二、IDA Pro MCP工具概述

在逆向工程领域,MCP协议正在重构安全工具与AI模型的协作范式。该工具通过以下方式提升分析效率:
  • • 语义桥梁:建立二进制数据与大语言模型的通用交互语言
  • • 操作抽象:将反编译、交叉引用等23种逆向操作封装为API指令
  • • 上下文感知:实时同步IDA数据库状态,支持动态分析决策
具体可见 IDA Pro MCP: 让AI赋能逆向工程 或  https://github.com/mrexodia/ida-pro-mcp

IDA Pro+MCP+DeepSeek逆向小实战:构建AI逆向分析

三、环境部署与工具链搭建

Cherry Studio的配置

访问Cherry Studio的开源页面下载Windows版本客户端,并安装。

IDA Pro+MCP+DeepSeek逆向小实战:构建AI逆向分析

Cherry Studio安装成功后,打开Cherry Studio的设置页面,点击MCP服务器菜单栏,直接点击自动安装UV与Bun环境。(也可以手动安装UV和Bun环境),安装成功后,UV缺失和Bun缺失的提示消失:

IDA Pro+MCP+DeepSeek逆向小实战:构建AI逆向分析

接下来,就是获取大模型服务的API Key,可以选择付费的API调用,如DeepSeek的API调用。也可以前往 https://openrouter.ai/ 薅免费大模型的API Key。

IDA Pro+MCP+DeepSeek逆向小实战:构建AI逆向分析

在Cherry Studio的设置页面,点击模型服务菜单栏,配置大模型,比如可以选择openrouter,键入openrouter的API Key。此时就会出现一些免费的大模型可供选择、使用:

IDA Pro+MCP+DeepSeek逆向小实战:构建AI逆向分析

我们在使用MCP工具的时候,需要选择带有🔧扳手标志的大模型,此类型表示支持函数调用功能,这样后续才可以在对话框加载上MCP工具

IDA Pro+MCP+DeepSeek逆向小实战:构建AI逆向分析

IDA-Pro-MCP的安装

接下来,按照 https://github.com/mrexodia/ida-pro-mcp 的描述安装IDA-Pro-MCP

也可以进入https://mcp.so 查找其它IDA相关的MCP工具安装

  1. 1. 安装Python 3.11+环境,安装 IDA Pro 8.3或者IDA Pro 9
  2. 2. 配置 MCP 服务器,部署IDA 插件:

    pip install git+https://github.com/mrexodia/ida-pro-mcpida-pro-mcp --install
  3. IDA Pro+MCP+DeepSeek逆向小实战:构建AI逆向分析
    IDA Pro+MCP+DeepSeek逆向小实战:构建AI逆向分析
  1. 3. 重启IDA Pro后,在Edit > Plugins列表确认"IDA Pro MCP"是否存在
  2. 4. 此时,可以打开 Cherry Studio的设置页面,点击MCP服务器菜单栏,查看MCP服务是否配置成功、是否开启。如果没有配置成功,可以点击编辑MCP服务,手动将下面的配置文件复制到对话框。然后点击、保存,此时配置成功后,该状态会变绿色:
{  "mcpServers": {    "github.com/mrexodia/ida-pro-mcp": {      "isActive": true,      "command": "C:\Users\test\AppData\Local\Programs\Python\Python313\python.exe",      "args": [        "C:\Users\test\AppData\Local\Programs\Python\Python313\Lib\site-packages\ida_pro_mcp\server.py"      ],      "timeout": 1800,      "disabled": false,      "autoApprove": [        "check_connection",        "get_metadata",        "get_function_by_name",        "get_function_by_address",        "get_current_address",        "get_current_function",        "convert_number",        "list_functions",        "list_strings",        "search_strings",        "decompile_function",        "disassemble_function",        "get_xrefs_to",        "get_entry_points",        "set_comment",        "rename_local_variable",        "rename_global_variable",        "set_global_variable_type",        "rename_function",        "set_function_prototype",        "declare_c_type",        "set_local_variable_type"      ],      "alwaysAllow": [        "check_connection",        "get_metadata",        "get_function_by_name",        "get_function_by_address",        "get_current_address",        "get_current_function",        "convert_number",        "list_functions",        "list_strings",        "search_strings",        "decompile_function",        "disassemble_function",        "get_xrefs_to",        "get_entry_points",        "set_comment",        "rename_local_variable",        "rename_global_variable",        "set_global_variable_type",        "rename_function",        "set_function_prototype",        "declare_c_type",        "set_local_variable_type"      ],      "name": "github.com/mrexodia/ida-pro-mcp"    }  }}

手动配置MCP服务参数时候,需要将里面的路径改成自己环境中的路径

IDA Pro+MCP+DeepSeek逆向小实战:构建AI逆向分析

四、实例测试:Deepseek模型驱动的智能分析

0x1 环境准备

  1. 1.1 启动支持函数调用的Deepseek-V3模型服务
  2. 1.2 在IDA中加载待分析ELF文件(示例:DefcampCTF2015 entry_language)

0x2 启用MCP工具

  1. 使用IDA Pro加载ELF文件,然后在插件中启用MCP服务;打开Cherry Studio的会话窗口加载DeepSeek模型,启用MCP工具
  2. IDA Pro+MCP+DeepSeek逆向小实战:构建AI逆向分析
  1. 测试IDA通过MCP是否和DeepSeek连通成功,提问:
[用户]此时IDA Pro中打开的文件是什么?----------------------------[DeepSeek Chat | 深度求索]get_metadata       已完成当前在IDA Pro中打开的文件是:路径: C:UserstestDesktopentry_language.elf模块名: entry_language.elf基地址: 0x400000大小: 0x2010b8 字节MD5: 7f24336a9475b4a6a79086f29ec0949aSHA256: 8c481c589e9f95acbfdc20b54f5965017604a4c149dd72ec6bde55a5ea2a11bcCRC32: 0x54f3155e文件大小: 0x18b0 字节如果需要进一步分析或操作该文件,请告诉我!
  1. IDA Pro+MCP+DeepSeek逆向小实战:构建AI逆向分析
  2. 0x3 深入提问,继续分析

DeepSeek能成功分析到目标文件后,通过提示词调用MCP工具进行自动化分析、解题:

 你需要进一步需要进一步分析或操作该文件,这是一个密码验证题,输入一个字符串,程序验证对错,输入错误的password错误会报错“Incorrect password!”,需要输入正确的password通过验证。你现在需要通过分析得到正确的password,你可以使用MCP工具检索信息,这个分析过程按照以下策略:- 你的工作路径是C:UserstestDesktop,重点关注的文件是entry_language.elf.id0、entry_language.elf.id1、entry_language.elf.id2、entry_language.elf.nam、entry_language.elf.til- 检查反编译的情况,并把你的发现添加到反编译的代码注释中- 将变量重命名为更合理的名称- 如果有必要,修改变量和参数类型(尤其是指针和数组类型)- 修改函数名,使其更具描述性- 如果需要更多的细节,反汇编函数,并把你的发现并添加到代码注释中- 永远不要自行改变数据类型。 如果需要,使用convert_number MCP工具!- 不要尝试暴力破解,而是从反汇编和简单的python脚本中获得一切解决方案- 创建一个report.md文件,在report.md文件中添加你的发现和你解决问题的步骤- 找到这个密码验证题的解决思路后,提示用户找到了正确的password,并说出password的正确值
IDA Pro+MCP+DeepSeek逆向小实战:构建AI逆向分析
  1. 0x4 结果验证

花了4角1分钱的token ,把关键部分的代码分析出来了:

IDA Pro+MCP+DeepSeek逆向小实战:构建AI逆向分析

但是AI并没直接把算法成功逆向、跑出正确的password。经测试下来,效果感觉还有许多优化和进步的地方

IDA Pro+MCP+DeepSeek逆向小实战:构建AI逆向分析

或许后续在执行自动化分析二进制程序的时候,需要注意一下:

  • • 预处理:预处理好混淆代码,亦或先用 math-mcp 等工具先处理等容易产生幻觉的场景(如算法)
  • • 互动式执行分析任务:尽量分步执行分析的提示词,根据分析结果的反馈,调整下一步分析的提示词,让每一步都贴合实际情况
  • • 防幻觉机制:设置"如无明确证据需标注[推测]"

或许下次可以换个大模型来自动化分析,比如 Claude 3.7 Sonnet 。

五、结语

目前,MCP的加持,确实已经让自动化分析变得更加快捷、有效,能快速得到分析中需要的一些关键点。通过MCP协议,IDA Pro正在从静态分析工具转型为智能安全中台。这种变革不仅提升单个逆向任务的效率,更重要的是构建起人机协同的新型研究范式。

但现阶段,还是需要分析人员本身有一定的技术基础和经验,技巧性地使用提示词,交互式参与MCP工具的分析工作。期待未来有逆向分析的领域专属微调大模型或技术,让逆向分析或其它工作真•全智能化。

参考:

  • https://www.dailydoseofds.com/p/visual-guide-to-model-context-protocol-mcp/
  • https://github.com/mrexodia/ida-pro-mcp
  • https://github.com/CherryHQ/cherry-studio/releases
  • https://modelcontextprotocol.io/introduction
  • https://zhuanlan.zhihu.com/p/29001189476

免责声明: 

文章中涉及的内容可能带有攻击性、损害性,请注意识别。文章内容仅能用于安全检测、安全防御、安全研究等合法合规的用途,请勿用作其它方面。若有违反,违反者将自行承担相应法律责任及连带责任,违反者的行为与本文章内容的创作者无关。请遵守相关法律法规,共同维护网络环境的清朗!如有问题可私信联系,望知悉。

通过MCP协议Claude 3.7 Sonnet可深度集成IDA工具链实现VMP保护的自动化分析

原文始发于微信公众号(哆啦安全):IDA Pro+MCP+DeepSeek逆向小实战:构建AI逆向分析

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月10日17:12:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   IDA Pro+MCP+DeepSeek逆向小实战:构建AI逆向分析https://cn-sec.com/archives/3938074.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息