x64dbg是一款强大的开源反汇编逆向动态调试神器,软件在国内还是很有名的,很多朋友调试电脑程序都是使用这个软件,而且最新版本官方已经自带简体中文版了,不需要我们再去网上找中文破解补丁了,使用起来更加轻松点了。软件是基于Windows平台使用的,界面设计简洁、操作简单,是一款很不错的调试工具软件。我们知道这个软件的朋友一定也听说过OllyDbg调试工具,甚至很多朋友都是使用过OllyDbg调试工具的,我们这个软件跟OllyDbg调试工具也很类似,比如说它的操作界面和操作方法都是有很多的相似之处,所以如果你之前用过OllyDbg调试工具类,那么你使用我们这个调试工具也会十分顺手,不需要从新学习使用方法,直接就可以使用。软件分为三部分载体,比如说:DBG是调试器的调试部分,它处理调试(使用TitanEngine)并将为GUI提供数据。GUI是调试器的图形部分,建立在Qt之上,主要是提供用户交互。通过这款调试工具用户可以分析64位的应用,这是OllyDbg所不能做到的,它只能分析32位应用,所以想要分析64位应用,软件是一款专门用于分析64位应用的调试软件。软件支持类似C的表达式解析器、全功能的DLL和EXE文件调试、IDA般的侧边栏与跳跃箭头、动态识别模块和串、快反汇编、可调试的脚本语言自动化等多项实用分析功能,让我们可以很轻松的对电脑程序进行相关我们需要调试的操作。本次小编带来的是x64dbg最新免费中文版,欢迎需要的朋友来本站免费下载体验!~
2、用户选择对应的版本启动即可!
3、可以开始使用了!
2、直观和熟悉的新用户界面
3、类似C的表达式解析器
4、DLL和EXE文件的全功能调试(TitanEngine)
5、IDA般的侧边栏与跳跃箭头
6、IDA样的指令令牌高亮(高亮寄存器等)
7、存储器映射
8、符号观
9、线程视图
10、内容敏感的注册查看
11、完全可定制的配色方案
12、动态识别模块和串
13、进口重构集成(青蟹)
14、快反汇编(BeaEngine)
15、用户数据库(JSON)征求意见,标签,书签等。
16、不断增长的API插件的支持
17、可扩展的,可调试的脚本语言自动化
18、多数据类型的内存转储
19、基本调试符号(PDB)的支持
20、动态堆栈视图
21、内置汇编(XEDParse)
22、查看你的补丁,并将它们保存到磁盘
23、内置的十六进制编辑器
24、查找内存模式
正在不断的积极发展。
2、GPLv3
我们同时提供了可执行文件和源代码。随意作出贡献。
3、自定义
C ++编写的插件,改变颜色和调整你的喜好。
4、X64/X32支持
可以调试x64和X32的应用程序。只有一个接口。
5、建立在开源库
使用的Qt,TitanEngine,BeaEngine,青蟹,杨松,LZ4和XEDParse。
6、操作简单,功能强大的开发
使用C ++和Qt4的快速添加新的功能。
7、脚本化
有一个集成的,可调试,ASM-like脚本语言。
8、社区意识
有许多功能的倒车社会思想或创建的。
9、伸缩
编写插件来添加脚本命令或集成的工具。
使用软件时,您通常可以使用各种内容作为输入。
1、命令
命令具有以下格式:
命令 arg1 , arg2 , argN
2、变量
变量可选地以a开头,$并且只能存储一个DWORD(x64上的QWORD)。
3、注册
所有寄存器(所有大小)都可以用作变量。
备注:
大多数寄存器的变量名称与它们的名称相同,但以下寄存器除外:
x87控制字标志:该寄存器的标志名称如下:_x87CW_UM
除了在体系结构中的寄存器,x64dbg提供以下寄存器:CAX,CBX,CCX,CDX,CSP,CBP,CSI,CDI,CIP。这些寄存器映射到32位平台上的32位寄存器,以及64位平台上的64位寄存器。例如,CIP是EIP在32位平台上,并且是RIP在64位平台上。此功能旨在支持与体系结构无关的代码。
4、记忆位置
您可以使用以下表达式之一从/向内存位置读取/写入:
从中读取DWORD / QWORD addr。
n:从中读取n个字节addr。
seg:从一个段读取一个DWORD / QWORD addr。
byte:从中读取BYTE addr。
word:读一个WORD addr。
dword:从中读取一个DWORD addr。
qword:从addr(仅限x64)读取QWORD 。
备注:
n 是要读取的字节数,在x32上可以是小于4且在指定时在x64上小于8,否则会出错。
seg可以gs,es,cs,fs,ds,ss。只有fs并gs产生影响。
5、标志
调试标志(解释为整数)可用作输入。标志以a为前缀,_后跟标志名称。有效的标志是:_cf,_pf,_af,_zf,_sf,_tf,_if,_df,_of,_rf,_vm,_ac,_vif,_vip和_id。
6、数字
所有数字默认都被解释为十六进制!如果你想确定,你可以x或0x作为前缀。十进制数可以使用前缀来点数量:.123=7B。
7、表达式
有关更多信息,请参阅表达式部分。
8、标签/符号
用户定义的标签和符号是有效的表达式(它们解析为所述标签/符号的地址)。
9、模块数据
DLL导出:
键入GetProcAddress并自动将其解析为函数的实际地址。要明确定义从哪个模块加载API,请使用:.dll:或:。以类似的方式你可以解决序数,尝试:。另一个宏允许您获取模块的加载基础。例如,当为空字符串时:GetProcAddress,将使用当前在CPU中选择的模块。
加载模块库:
如果您要访问加载模块的基础上,你可以写::0,:base,:imagebase或:header。
10、RVA /文件偏移
如果您想访问模块RVA,您可以编写:0+,也可以编写:$。如果要将文件偏移量转换为VA,则可以使用:#。例如,当为空字符串时:0,将使用当前在CPU中选择的模块。
11、模块入口点
要访问一个模块的入口点,你可以写:entry,:oep或:ep。请注意,当存在带有名称的导出时entry,oep或者ep将返回这些名称的地址。
1.因为是64位程序,也不知道怎么查壳(实际上是没有加壳的),就直接把主程序载入x64_dbg。
2.载入以后,先运行一下(那个向右的箭头 → ),它会断下来,也可以理解为它会断在系统领空,我们先把它原来的所有断点都给删除掉。
3.我的思路是先搜索字符串看看,找到关键的注册字符。但是在搜索之前,因为它默认断在系统的dll文件,所以我们要先选择我们要调试的进程名称,要不然搜索出来的不是我们所需的信息。
4.选择以后,又会回到CPU反汇编窗口,这里才是真正的主程序,我们再来搜索。
5.找到了很多字符串了,根据我们的经验,一般注册的关键词诸如reg之类的,我们看到,这里有一个regname,regcode,也就是注册名、注册码。我们选择这个双击一下回到反汇编窗口。6.同时通过分析得出,它是把注册信息保存到注册表里面,向上滑动鼠标,可以看到关键的代码:一个CALL下面紧接着是一个判断,通过al的值决定是否跳转。
7.我们在这个CALL这一行下断点。
8.然后运行一下,程序运行了,我们随便输入注册信息,程序断在我们下好的断点。
9.通过我们单步调试,如果al的值是0的时候,跳转会实现,跳向注册失败。那如果al=1呢?也就不会跳,会注册成功。
10.我们重新载入一次,再次运行一次,和开始一样,会断在我们下好的断点这里,现在我们的目标已经很明确了,要把al的值强行赋值为1。
11.进入call以后,我们开始修改了。
12.和od一样,在第一行双击即可修改。
13.修改以后,保存。
14.点pathes按钮。
使用教程
1、从本站下载压缩包,解压之后运行release目录下的x96dbg.exe!2、用户选择对应的版本启动即可!
3、可以开始使用了!
软件特色
1、开源2、直观和熟悉的新用户界面
3、类似C的表达式解析器
4、DLL和EXE文件的全功能调试(TitanEngine)
5、IDA般的侧边栏与跳跃箭头
6、IDA样的指令令牌高亮(高亮寄存器等)
7、存储器映射
8、符号观
9、线程视图
10、内容敏感的注册查看
11、完全可定制的配色方案
12、动态识别模块和串
13、进口重构集成(青蟹)
14、快反汇编(BeaEngine)
15、用户数据库(JSON)征求意见,标签,书签等。
16、不断增长的API插件的支持
17、可扩展的,可调试的脚本语言自动化
18、多数据类型的内存转储
19、基本调试符号(PDB)的支持
20、动态堆栈视图
21、内置汇编(XEDParse)
22、查看你的补丁,并将它们保存到磁盘
23、内置的十六进制编辑器
24、查找内存模式
软件亮点
1、积极发展正在不断的积极发展。
2、GPLv3
我们同时提供了可执行文件和源代码。随意作出贡献。
3、自定义
C ++编写的插件,改变颜色和调整你的喜好。
4、X64/X32支持
可以调试x64和X32的应用程序。只有一个接口。
5、建立在开源库
使用的Qt,TitanEngine,BeaEngine,青蟹,杨松,LZ4和XEDParse。
6、操作简单,功能强大的开发
使用C ++和Qt4的快速添加新的功能。
7、脚本化
有一个集成的,可调试,ASM-like脚本语言。
8、社区意识
有许多功能的倒车社会思想或创建的。
9、伸缩
编写插件来添加脚本命令或集成的工具。
使用帮助
一、输入使用软件时,您通常可以使用各种内容作为输入。
1、命令
命令具有以下格式:
命令 arg1 , arg2 , argN
2、变量
变量可选地以a开头,$并且只能存储一个DWORD(x64上的QWORD)。
3、注册
所有寄存器(所有大小)都可以用作变量。
备注:
大多数寄存器的变量名称与它们的名称相同,但以下寄存器除外:
x87控制字标志:该寄存器的标志名称如下:_x87CW_UM
除了在体系结构中的寄存器,x64dbg提供以下寄存器:CAX,CBX,CCX,CDX,CSP,CBP,CSI,CDI,CIP。这些寄存器映射到32位平台上的32位寄存器,以及64位平台上的64位寄存器。例如,CIP是EIP在32位平台上,并且是RIP在64位平台上。此功能旨在支持与体系结构无关的代码。
4、记忆位置
您可以使用以下表达式之一从/向内存位置读取/写入:
从中读取DWORD / QWORD addr。
n:从中读取n个字节addr。
seg:从一个段读取一个DWORD / QWORD addr。
byte:从中读取BYTE addr。
word:读一个WORD addr。
dword:从中读取一个DWORD addr。
qword:从addr(仅限x64)读取QWORD 。
备注:
n 是要读取的字节数,在x32上可以是小于4且在指定时在x64上小于8,否则会出错。
seg可以gs,es,cs,fs,ds,ss。只有fs并gs产生影响。
5、标志
调试标志(解释为整数)可用作输入。标志以a为前缀,_后跟标志名称。有效的标志是:_cf,_pf,_af,_zf,_sf,_tf,_if,_df,_of,_rf,_vm,_ac,_vif,_vip和_id。
6、数字
所有数字默认都被解释为十六进制!如果你想确定,你可以x或0x作为前缀。十进制数可以使用前缀来点数量:.123=7B。
7、表达式
有关更多信息,请参阅表达式部分。
8、标签/符号
用户定义的标签和符号是有效的表达式(它们解析为所述标签/符号的地址)。
9、模块数据
DLL导出:
键入GetProcAddress并自动将其解析为函数的实际地址。要明确定义从哪个模块加载API,请使用:.dll:或:。以类似的方式你可以解决序数,尝试:。另一个宏允许您获取模块的加载基础。例如,当为空字符串时:GetProcAddress,将使用当前在CPU中选择的模块。
加载模块库:
如果您要访问加载模块的基础上,你可以写::0,:base,:imagebase或:header。
10、RVA /文件偏移
如果您想访问模块RVA,您可以编写:0+,也可以编写:$。如果要将文件偏移量转换为VA,则可以使用:#。例如,当为空字符串时:0,将使用当前在CPU中选择的模块。
11、模块入口点
要访问一个模块的入口点,你可以写:entry,:oep或:ep。请注意,当存在带有名称的导出时entry,oep或者ep将返回这些名称的地址。
使用说明
首先运行x64dbg后,发现是全英文版的,但是它的操作界面和32位的OD还是很相似的,有一些操作也是相同的,比如F2下断等。所以对一般用过OD的人来说,上手应该也是很快的。不多说了,开始吧。1.因为是64位程序,也不知道怎么查壳(实际上是没有加壳的),就直接把主程序载入x64_dbg。
2.载入以后,先运行一下(那个向右的箭头 → ),它会断下来,也可以理解为它会断在系统领空,我们先把它原来的所有断点都给删除掉。
3.我的思路是先搜索字符串看看,找到关键的注册字符。但是在搜索之前,因为它默认断在系统的dll文件,所以我们要先选择我们要调试的进程名称,要不然搜索出来的不是我们所需的信息。
4.选择以后,又会回到CPU反汇编窗口,这里才是真正的主程序,我们再来搜索。
5.找到了很多字符串了,根据我们的经验,一般注册的关键词诸如reg之类的,我们看到,这里有一个regname,regcode,也就是注册名、注册码。我们选择这个双击一下回到反汇编窗口。6.同时通过分析得出,它是把注册信息保存到注册表里面,向上滑动鼠标,可以看到关键的代码:一个CALL下面紧接着是一个判断,通过al的值决定是否跳转。
7.我们在这个CALL这一行下断点。
8.然后运行一下,程序运行了,我们随便输入注册信息,程序断在我们下好的断点。
9.通过我们单步调试,如果al的值是0的时候,跳转会实现,跳向注册失败。那如果al=1呢?也就不会跳,会注册成功。
10.我们重新载入一次,再次运行一次,和开始一样,会断在我们下好的断点这里,现在我们的目标已经很明确了,要把al的值强行赋值为1。
11.进入call以后,我们开始修改了。
12.和od一样,在第一行双击即可修改。
13.修改以后,保存。
14.点pathes按钮。
∨ 展开