一、工具概述
x64dbg 是一款开源免费的 Windows 平台动态调试器,可对 32 位、64 位可执行程序(EXE)进行分析。软件能够实时查看程序运行状态、汇编指令、CPU 寄存器、内存数据与栈信息,采用图形化界面设计,内置中文语言支持,相比传统 OllyDbg 更易上手。该项目托管于 GitHub,长期持续迭代,社区生态完善。
主要应用场景
- 软件逆向:分析注册验证、授权逻辑;
- 安全分析:监测恶意程序行为;
- 程序排错:定位软件崩溃、异常原因;
- 开发应用:游戏修改器开发、CTF 逆向题目解题;
- 底层调试:软件开发阶段的底层代码调试。
版本优势
相较于经典调试工具 OllyDbg,x64dbg 原生支持 64 位程序调试,基于 Qt 框架开发,支持多标签、内容检索、界面主题等现代化功能,同时拥有扩展性更强的插件系统。
二、运行环境要求
表格
| 配置项 | 具体要求 |
|---|---|
| 操作系统 | Windows 7 SP1 及以上,推荐 Windows 10 / Windows 11 |
| 系统架构 | 同时支持 32 位、64 位 Windows 系统 |
| 硬盘空间 | 解压后整体约 50MB,占用空间小 |
| 运行依赖 | 系统需预装 Visual C++ 运行库(主流系统默认自带) |
| 内存 | 最低 1GB,无特殊高内存要求 |
注意:x64dbg 具备进程读写、内存注入能力,多数杀毒软件会判定为风险程序产生误报。使用时建议将软件所在目录添加至杀毒软件信任区 / 白名单。
三、同类逆向工具横向对比
表格
| 对比项目 | x64dbg | OllyDbg | IDA Free | WinDbg | Ghidra |
|---|---|---|---|---|---|
| 是否免费 | 免费开源 | 免费(已停更) | 免费版功能有限 | 免费 | 免费开源 |
| 支持 64 位 | 支持 | 不支持 | 支持 | 支持 | 支持 |
| 图形界面 | 有,较现代 | 有,较老 | 有 | 有,复杂 | 有 |
| 中文界面 | 支持语言包 | 不支持 | 不支持 | 不支持 | 支持 |
| 插件生态 | 丰富,社区活跃 | 丰富但老化 | 插件系统 | 有扩展 | 有脚本和插件 |
| 动态调试 | 强项 | 强项 | 一般(主要静态) | 强项(内核级) | 一般(主要静态) |
| 静态分析 | 基础支持 | 不支持 | 强项 | 基础支持 | 强项 |
| 上手难度 | 中等 | 中等 | 较难 | 较难 | 较难 |
| 适合场景 | 应用层逆向调试 | 32 位程序逆向 | 静态分析、漏洞研究 | 内核调试、驱动 | 二进制分析 |
| 更新维护 | 持续更新 | 2013 年后停更 | 有更新 | 有更新 | 有更新 |
工具搭配建议:常规逆向工作中,可组合使用 x64dbg(动态调试)+ IDA/Ghidra(静态分析),两种工具互补,提升分析效率。
四、软件界面介绍
启动 x64dbg 后,主界面分为多个功能区域,各区域作用如下:
- 左上区域:反汇编窗口,展示程序汇编指令,为核心操作区域;
- 左下区域:内存转储窗口,以十六进制形式展示内存原始数据;
- 右上区域:寄存器窗口,实时显示 CPU 各寄存器数值;
- 右下区域:栈窗口,展示当前线程的栈数据;
- 底部区域:命令行输入栏,可执行调试指令。
所有窗口支持拖拽调整大小,也可通过顶部「视图」菜单控制窗口显示 / 隐藏。
五、基础操作与常用快捷键
5.1 程序加载方式
- 打开软件,点击顶部【文件】→【打开】,选择目标 EXE 程序;
- 快捷方式:直接将可执行文件拖拽至 x64dbg 窗口完成加载。 程序加载完成后会暂停在程序入口点,反汇编窗口同步展示入口处汇编代码。
5.2 常用调试快捷键
表格
| 快捷键 | 功能说明 |
|---|---|
| F2 | 设置 / 取消断点 |
| F7 | 单步步入,进入call调用的函数内部 |
| F8 | 单步步过,跳过call函数,不进入内部 |
| F9 | 运行程序,触发断点后暂停 |
| Ctrl+F9 | 运行至当前函数执行完毕并返回 |
| F12 | 暂停正在运行的程序 |
| Ctrl+G | 跳转到指定内存地址 |
| Ctrl+F | 检索汇编指令 |
5.3 核心调试操作
断点与单步跟踪
断点是动态调试的核心功能。在反汇编窗口选中目标代码行,按下 F2 设置断点(代码行标红代表设置成功);按下 F9 运行程序,程序执行到断点位置会自动暂停。暂停后可查看寄存器、内存、栈数据,配合 F8 单步执行,观测指令执行带来的数据变化。
内容检索
- 检索 API 函数:使用
Ctrl+F搜索strcmp、lstrcmpA等字符串比对类函数,定位逻辑代码; - 二进制特征码:
Ctrl+B检索十六进制字节序列; - 字符串检索:通过顶部【搜索】→【字符串模块】,可列出程序内所有明文字符串,快速定位关键业务逻辑。
六、完整安装与配置教程
6.1 资源下载保存
下载地址:https://pan.baidu.com/s/1W9qmZin7kQVr1x-hHMq1Cw?pwd=5555 提取码: 5555 安装包为 ZIP 压缩包,属于绿色便携版,无需传统安装流程。
6.2 解压部署
- 使用 7-Zip、WinRAR 等工具解压压缩包;
- 建议解压路径不包含中文字符,避免插件、功能出现兼容异常;
- 解压目录核心文件说明:
表格
文件 / 目录 用途 x32/x32dbg.exe 32 位程序专用调试器 x64/x64dbg.exe 64 位程序专用调试器 release/ 插件、默认配置目录 db/ 符号数据库存放目录
区分使用:根据目标程序位数选择对应主程序,32 位 EXE 使用
x32dbg.exe,64 位 EXE 使用x64dbg.exe。
6.3 切换中文界面
- 启动 x64dbg,点击顶部菜单【Options(选项)】→【Appearance(外观)】;
- 在 Language 下拉列表中选择「简体中文」;
- 关闭软件并重新启动,界面语言即可生效。
补充:若列表无中文选项,前往 x64dbg GitHub 发布页下载
translation.zip语言包,解压至软件translations目录后重试。
6.4 常用插件安装
将插件对应的 DLL 文件放入软件plugins目录,重启软件即可加载,常用插件说明:
- ScyllaHide / SharpOD:反反调试插件,绕过程序自身的调试检测机制;
- xAnalyzer:自动分析函数参数、类型,简化人工分析流程。
6.5 符号路径配置
配置符号服务器后,调试系统 DLL 时可显示函数名,仅展示内存地址。操作步骤:
- 点击【选项】→【符号】;
- 在配置栏添加微软符号服务器地址:
plaintext
srv*C:\Symbols*https://msdl.microsoft.com/download/symbols- 保存配置,软件会自动按需下载系统符号文件。
七、基础调试实操案例
- 启动 x64dbg,将目标 EXE 文件拖拽至窗口完成加载;
- 按下
Alt+F9跳过系统初始化代码,直接进入用户代码区域; - 使用
Ctrl+F检索关键词(如error、success、注册); - 检索到字符串后,右键选择「在反汇编中跟随」,跳转至对应代码位置;
- 按下 F2 设置断点,F9 运行程序触发断点;
- 断点暂停后,使用 F8 单步执行,观测寄存器、栈、内存数据变化,完成逻辑分析。
八、使用注意事项与问题说明
- 加壳程序:部分程序加壳保护,直接加载会运行异常,需先完成脱壳操作再调试;
- .NET 程序:x64dbg 只能查看 JIT 编译后的机器码,无法解析原始托管代码,此类程序建议使用 dnSpy 工具;
- 恶意样本调试:分析病毒、恶意程序时,务必在虚拟机内操作,推荐使用 VMware、VirtualBox,并提前创建快照,出现异常可快速还原;
- 能力要求:工具上手门槛适中,但调试分析需要 x86/x64 汇编基础,建议先学习汇编基础知识再开展逆向练习。
九、补充总结
x64dbg 凭借免费开源、持续更新、支持全位数程序的特点,成为逆向领域主流动态调试工具。动态调试的可视化操作相比纯静态分析更加直观,适合新手入门。使用时根据程序类型搭配静态分析工具(IDA、Ghidra),可大幅提升工作效率。