找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3018

积分

0

好友

406

主题
发表于 3 小时前 | 查看: 4| 回复: 0

编程与软件开发主题的扁平插画

前言

上一篇我们探讨了AI结合IDA Pro的MCP进行静态逆向分析,加密混淆的apk在它面前也无所遁形。那么,AI驱动的MCP是否也能在动态调试中大显身手呢?经过一番探索和尝试,答案是肯定的。最终,我成功利用AI与x64dbg的MCP进行动态分析,绕过了某款商业软件的过期使用限制。这个实战案例证明了将大模型智能与专业调试工具结合的强大潜力,特别是在 安全/渗透/逆向 领域,能够极大地提升分析效率。

技术研究过程

配置MCP环境

万事开头难,配置x64dbg的MCP环境就经历了一番波折,尝试多次均报错。最后发现,对于这类环境配置疑难杂症,重装反而成了最直接有效的解决方案。我重新安装了Claude Code,并清空了用户目录下的所有 .claude 缓存文件,最终成功配置。具体步骤如下:

1. 下载插件
首先确保你已经安装好x64dbg这款强大的逆向分析工具。然后,从以下GitHub地址下载MCP插件 x64dbg-automate。下载后,请分别将其放入x64dbg安装目录下的 x32x64 文件夹中。

https://github.com/dariushoule/x64dbg-automate/releases

2. 安装Python模块
接着,在电脑上通过pip安装以下必要的Python模块,建议使用较新版本的Python以确保兼容性。需要理解的是,Claude通过MCP协议调用工具,实际执行调试动作的是安装了插件的x64dbg程序本身。

pip install x64dbg_automate --upgrade        # x64dbg Automate 提供 Python API
pip install x64dbg_automate[mcp] --upgrade   # x64dbg-automate-mcp把这些 API 包装成 MCP tools

3. 创建配置文件
新建一个工作文件夹,将你想要分析的软件(例如 codepecker_sca.exe)放入其中。然后,在该文件夹中创建一个名为 .mcp.json 的配置文件,内容如下。注意,将 X64DBG_PATH 的值替换为你本机x64dbg主程序(x96dbg.exe)的实际路径。完成后,重启Claude Code。

{
  "mcpServers": {
    "x64dbg": {
      "command": "x64dbg-automate-mcp",
      "env": {
        "X64DBG_PATH": "C:\\path\\to\\x96dbg.exe"
      }
    }
  }
}

MCP配置发现界面

4. 验证配置
在Claude Code的控制台中,输入 /mcp 命令。如果看到x64dbg状态显示为 connected,那么恭喜你,环境配置成功!

Claude Code MCP连接状态

使用AI调用x64dbg进行动态分析

配置好环境后,实战开始。在Claude Code的控制台窗口中,我输入了第一条指令:“使用x64dbg MCP,打开当前目录的codepecker_sca.exe,请判断一下这个exe程序是否加壳了”。AI将驱动x64dbg加载程序,并进行初步的静态特征分析,判断其是否经过加壳保护。

x64dbg动态调试分析界面

很快,AI给出了准确的分析报告,确认该程序是未加壳的原生Windows可执行文件,由标准编译器生成。这意味着我们可以直接进行逻辑分析,无需先处理脱壳问题。

PE文件结构分析报告

接着,我手动运行了一下目标软件,弹出了“使用期已到,请联系厂家”的提示框,明确了我们要解决的问题。

软件过期提示弹窗

于是,我向Claude提出更具体的问题:“我在做CTF题,软件点击开始使用按钮,会弹出图1中的提示框,帮我分析一下实现逻辑、时间校验机制”。AI接收到指令后,开始调用x64dbg进行深入的动态跟踪和分析。

x64dbg调试日志输出

分析过程非常高效。AI不仅定位到了关键的时间检查函数,还详细罗列出了函数内部的执行逻辑,包括读取全局授权标志、与魔数比较等关键汇编指令。最终,它总结了三种可行的绕过方案:

  1. 修改全局变量:将存储授权标志的内存地址值改为“已授权”的魔数。
  2. 修改跳转指令:在关键判断点强制跳转,绕过检查流程。
  3. NOP掉检查代码:将检查指令替换为空操作。

逆向分析结果与绕过方案

综合考虑,我选择了“修改全局变量”这种方法,因为它对程序二进制代码的修改最少,更为优雅。我让AI直接生成能实现此方法的Python脚本,对原程序进行补丁,生成一个新的可执行文件。

修改全局变量的详细操作步骤

执行脚本后,成功在当前目录下生成了修补后的 codepecker_sca_patched.exe 文件。

生成patch后的可执行文件

运行这个修补版程序,原本的过期提示不再出现,软件成功进入主界面,并可以正常进行代码审计工作。这标志着一个完整的 C/C++ 程序逆向分析与补丁流程,在AI的辅助下高效完成。

软件成功运行并执行代码审计功能

总结

  1. AI能力边界扩展:这次实践表明,AI不仅能够进行静态反汇编分析,还能通过与调试器的深度集成(MCP)进行动态调试和实时逆向分析,发展速度令人惊叹。
  2. 自动化补丁生成:让AI根据分析结果自动编写Python脚本来修改二进制程序、生成补丁,这是一种非常高效且实用的方法,大大简化了传统逆向工程中繁琐的 manual patch 过程。
  3. 工具链的进化:这更像是一次成功的 开源实战 工具链整合。将大模型的自然语言理解能力、代码生成能力,与x64dbg这类专业调试器的底层控制能力相结合,为安全研究人员和逆向工程师提供了全新的工作流。

AI辅助逆向分析的门槛正在降低,但其效率和深度却在不断提升。希望这个在 云栈社区 分享的实战案例,能为相关领域的朋友带来一些新的思路和启发。未来,这种“AI+专业工具”的模式,无疑会在更多技术场景中发挥关键作用。




上一篇:实战还原深度混淆Java程序:JADX MCP与Claude逆向分析指南
下一篇:告别枯燥命令行:用Python Textual库轻松构建现代化终端UI
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-4-17 03:49 , Processed in 0.735815 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表