请注意,本文编写于 132 天前,最后修改于 116 天前,其中某些信息可能已经过时。
目录
x64dbg 基础用法
1. 加载目标程序
2. 基本界面介绍
3. 设置断点
4. 单步执行
5. 查看和修改寄存器
6. 查看和修改内存
7. 堆栈分析
8. 调试命令
9. 反汇编和分析
10. 基础技巧
11. x64dbg 常用快捷键
1. 常规操作
2. 断点操作
3. 寄存器操作
4. 反汇编操作
5. 查看/修改内存
6. 日志与控制台
x64dbg 基础用法
x64dbg 是一个强大的 Windows 调试工具,适用于反向工程、漏洞分析和破解程序。它支持 32 位和 64 位应用程序的调试,界面友好,功能强大。
1. 加载目标程序
- 启动 x64dbg 后,点击左上角的“文件”(File)->“打开”(Open)来加载你想要调试的程序。
- 选择
.exe 文件,点击“打开”。
- 如果程序已经启动,可以通过“附加到进程”(Attach to process)来附加调试目标(影响最小,建议)
2. 基本界面介绍
x64dbg 的界面包括多个区域:
- CPU 窗口:显示当前的汇编代码。
- 寄存器窗口:显示当前 CPU 寄存器的状态(如 EAX, EBX, ECX, EDX 等)。
- 堆栈窗口:显示当前的堆栈信息。
- 内存窗口:显示内存数据,可以实时修改内存。
- 模块窗口:显示程序加载的所有模块。
- 命令窗口:可以输入命令执行,类似于命令行界面。
3. 设置断点
断点是调试中非常重要的功能,可以在程序执行到某个位置时暂停。
- 在 CPU 窗口中,右键点击某一行汇编代码,选择“添加断点”。
- 你也可以在地址栏中输入特定地址来直接跳转到该位置设置断点。
- 设置断点后,程序执行到该点会暂停,你可以查看寄存器、堆栈和内存状态。
4. 单步执行
在调试过程中,单步执行可以让你逐行分析代码。
- 单步跳过(F8):跳过当前指令,执行下一条指令。
- 单步进入(F7):进入当前调用的函数。
- 继续执行(F9):继续程序的执行,直到下一个断点。
5. 查看和修改寄存器
寄存器窗口显示了 CPU 的寄存器状态,可以手动修改寄存器的值。
- 右键点击某个寄存器,选择“修改”可以修改其值。
- 修改寄存器的值可以改变程序的执行流或绕过某些判断。
6. 查看和修改内存
- 打开内存窗口(Memory)。
- 输入特定的内存地址,查看该地址的内容。
- 你可以右键点击内存区域(空格),选择“修改内存”来修改内存中的值。
7. 堆栈分析
堆栈窗口可以查看函数调用和返回时的堆栈数据。
- 在堆栈窗口中,可以看到每个函数调用时的堆栈数据,包括局部变量和返回地址。
- 堆栈内容也可以修改,常用于修改程序的执行流程。
8. 调试命令
x64dbg 提供了一些调试命令,可以通过命令窗口直接输入:
bp [地址]:在指定地址设置断点。
r [寄存器名]:查看寄存器的当前值。
d [地址]:显示内存中的数据。
t [命令]:执行命令。
9. 反汇编和分析
x64dbg 支持强大的反汇编功能,你可以通过反汇编代码来理解程序的执行逻辑。
- 选择某个地址,右键点击并选择“反汇编”。
- 查看对应的汇编代码,分析每个指令的功能。
10. 基础技巧
- 查看模块:通过“模块”窗口,可以查看程序加载的所有 DLL 和 EXE 文件,帮助分析程序依赖关系。
- 条件断点:可以设置条件断点,只有满足条件时才触发断点,适用于复杂的调试场景。
- 跟踪系统调用:通过设置系统调用断点,跟踪程序和操作系统的交互。
11. x64dbg 常用快捷键
1. 常规操作
- F9: 继续执行程序,直到遇到断点。
- F7: 单步进入,进入当前调用的函数。
- F8: 单步跳过,跳过当前函数调用,执行下一行指令。
- Shift + F7: 跳过当前函数的所有指令,直接到达函数返回。
- Ctrl + F9: 停止调试并退出程序。
- F5: 启动调试或附加到进程。
2. 断点操作
- F2: 在当前指令设置/取消断点。
- Ctrl + F2: 切换所有断点的启用状态。
- Ctrl + Shift + F2: 清除所有断点。
3. 寄存器操作
- Ctrl + R: 刷新寄存器窗口。
- Alt + R: 打开/关闭寄存器窗口。
- Ctrl + E: 打开/关闭堆栈窗口。
- Ctrl + D: 打开/关闭内存窗口。
4. 反汇编操作
- Ctrl + G: 跳转到特定的地址。
- Ctrl + Shift + G: 跳转到当前指令的地址。
- Ctrl + L: 转到当前指令对应的源代码行(如果有调试符号)。
5. 查看/修改内存
- Ctrl + M: 打开内存视图。
- Alt + M: 修改当前显示的内存值。
6. 日志与控制台
- Ctrl + K: 打开/关闭命令窗口。
- Ctrl + Shift + K: 打开/关闭日志窗口。
本文作者:晏秋
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA
许可协议。转载请注明出处!