x64dbg的基本使用

目录

x64dbg简介

术语

打开程序

x64dbg打开界面介绍

汇编窗口

内存窗口

寄存器窗口

堆栈窗口

基本调试方法

搜索字符串

退出程序


x64dbg简介

x64dbg是软件逆向里必不可少的动态调试工具,本来考虑学习一下OD,但是考虑到OD很久之前就已经停止维护,而x64dbg则是一个开源项目,有大量的人员进行维护,很多功能都比OD更加优秀。所以建议使用x64dbg进行学习。

x64dbg官网地址:https://x64dbg.com/#start

x64dbg本身也是一个很优秀的开源项目,后期值得细细阅读其源码

本文只介绍学习初始阶段高频使用的快捷键以及功能,话不多说,正文开始!!!

术语

程序领空:程序自己代码的位置

系统领空:系统代码所处的位置

程序入口点EOP:程序在开始运行时执行的第一条指令的地址

在分析对饿时候一定要注意自己是否还在用户代码的位置

打开程序

下载过来x64dbg后,会又两个,一个是x32dbg,只能打开32位程序,一个是x64dbg,只能打开64位程序。

通过x64dbg打开程序,之后调试器就接管了进程。

方式一:附加的方式

菜单栏---文件---附加

不推荐这种方式,因为他不会从程序的最开始的位置进行执行

方式二:菜单栏---文件---打开

打开之后,就会进入程序的入口

程序的执行入口并不是对应C代码的main()函数。这里指向的是mainCRTStarup,这个的作用是为main()的执行做铺垫,比如初始化线程等等。

x64dbg打开界面介绍

汇编窗口

这里是C代码对应的反汇编代码,一般显示代码段 

简单介绍:

  • 第一列表示的是当前这条汇编指令所在的地址。每一列的地址都是依次排序的,第二行的地址是第一行 的地址再加上指令长度。两个十六进制数,代表一个字节。在第一列双击,可以看到一个箭头,你可以 以这个位置为起始地址,看到相对于这个地址的偏移。
  • 第二列是机器码,也就Opcode,这个是给计算机看的。在这个位置双击,可以下一个F2断点。
  • 第三列是汇编指令。其中。x64dbg的原理就是读取代码段的Opcode指令,将他翻译成汇编语言。在这 个位置双击可以修改汇编代码,或者按空格。
  • 第四列是注释,窗口。双击可以在当前列添加注释。

其它细节:

  • 那个蓝色标签显示的是EIP寄存器的指向,即是下一条执行指令的位置
  • 黑色表示程序的入口所在,一般指向mainSRTStartup
  • jmp指令的机器码表示通常是E9加上一个32位的相对偏移量。E9翻译为汇编表示是jmp
  • 在这个界面的最右边是可以写注释的

内存窗口

数据窗口,这里一般查看的是内存地址的内容。

这个里面存放的是数据段的数据 第一列是地址,第二列是地址里面存放的值,第三列是x64dbg的注释。存放的值默认是显示地址。 切换到十六进制的视图: 切换到字符串视图: 切换到Unicode的字符串视图: 切换到浮点窗口 数据和代码没有本质的区别,只不过一个能被执行,一个不能被执行

寄存器窗口

显示8大寄存器,指令指针寄存器,以及标志寄存器

堆栈窗口

显示一些堆栈的信息。

基本调试方法

首先我们了解一下一些基本的操作指令。

F2:设置断点。选中你想要下断点的那一行,摁下F2即可

F4:运行到光标处,点击你想要执行的那一行,摁下F4就会跳转到这里,EIP指向你想要执行的那一行,下一条的汇编的执行就是你所选中的

F9:运行程序(如果没有碰到断点,程序会一直执行到结束。

F7:单步步入。(遇到call指令,进入call函数的实现处继续执行汇编指令)

F8:单步步过。(遇到call指令,执行call函数,之后接着执行call指令的下一条指令)

这里在程序入口摁下F7单步执行,鼠标放在上面会显示jmp命令的跳转位置 0x002C2520

摁下F7或者F8就会进入jmp调转之后的界面

在call命令处摁下F7会跳转进函数的具体实现

Ctrl+F9: 执行到函数返回处,用于跳出函数实现,函数已经执行完毕、

Alt+F9:执行到用户代码,用于快速跳出系统函数

Ctrl+G:输入十六进制地址,快速定位到该地址处

在内存页面或者反汇编页面摁下 CTRL + G就会弹出一个窗口,输入内存地址,就可以跳转到那里

搜索字符串

要注意模块问题

 或者菜单栏 -- 引用

摁下Enter键

会在反汇编页面跳转到

退出程序

菜单栏文件脱离即可

  • 19
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: x64dbg是一款功能强大的开源反汇编器和调试器,它可以帮助程序员调试、反汇编和逆向工程Windows x64平台上的程序。但是,这款工具的英文界面也许会给不熟悉英文的用户带来困惑,因此需要中文使用文档来帮助他们更好地使用x64dbg中文使用文档需要包含以下内容: 1. 界面说明: x64dbg的界面相对较为复杂,包括菜单栏、工具栏、快捷键、调试窗口等。需要对每个部分进行解释和说明,让用户了解其作用和功能。 2. 基本功能: x64dbg基本功能包括反汇编、调试、断点、跟踪、变量监视等。需要详细介绍每个功能的使用方法和注意事项。 3. 插件使用x64dbg支持插件,插件可以扩展功能,如反混淆、加壳解壳、自动化脚本等。需要介绍常用的插件和如何安装和使用。 4. 常用场景: 需要详细介绍在具体场景下如何使用x64dbg,例如调试崩溃的程序、反汇编目标文件等等。 5. 错误处理:最后需要介绍x64dbg使用过程中可能出现的一些错误和如何处理。 总之,一份具有实际应用场景的、详细全面的x64dbg中文使用文档将使用户更快捷地掌握这款工具,更好地应对实际应用中的需求。 ### 回答2: x64dbg是一款十分优秀的反汇编工具,通过它的使用可以方便地对程序进行调试和分析。由于x64dbg的界面和操作上的设置较复杂,对于初学者而言,了解如何使用x64dbg也许是一件颇具挑战性的事情。然而,很幸运的是,我们可以很方便地找到x64dbg中文使用文档,从而帮助我们更好地掌握这一工具。 在x64dbg中文使用文档中,我们可以轻松地找到该工具的安装、启动、调试等操作的详细说明。此外,文档中还有各种截图和实例,帮助我们更加深入理解和掌握x64dbg使用方法。在文档中,一些常见的问题也有解答,这对于我们解决一些潜在的x64dbg使用难题也十分有帮助。 总之,x64dbg中文使用文档的出现对于那些打算使用这一工具的初学者而言,可以极大地减少其入门的难度。通过文档的认真学习和实践,我们可以更加熟练地使用x64dbg,并且不断探索一些更深层次的应用。同时,也希望这些文档的贡献者们能够一直坚持下去,不断更新、完善,以帮助更多的人更加深入地理解x64dbg的理论和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dao-道法自然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值