xdbg的简介
Xllydbg(简称xdbg)和OD的用法和界面都是很像的,由于网络安全的发展,OD无法满足大部分人的需要了,更多的人习惯对xdbg进行处理,来达到正常调试的目的.
从官网下载一款xdbg,安装后双击下图的exe程序,可以打开32位的xdbg
xdbg的初始设置
打开xdbg并随便附加一款程序,我们先来对xdbg进行一些设置,这些设置更多是针对64位的程序的
我们在选项中点选择选项,可以看到事件设置
这里的断点没有特殊需求可以全部取消,
然后在异常中添加区间为0-0xFFFFFFFF,保证不会被"异常一"干扰,当然如果出现了"异常二"则说明程序已经崩溃了.
在反汇编界面,我们可以把高亮和0x前缀加上,这样操作起来更加方便.
然后在选项-外观中选择字体
我们可以根据自己的需求和显示器的分辨率来对字体大小进行修改,保证能够完整的看到代码和其他的信息.
做完以上的设置,我们就可以正常的进行操作了
xdbg和OD的区别
由于xdbg和OD的主要操作方式都是类似的,所以我们主要看一下二者的区别
1.1 xdbg的命令行插件不是很完善,所以我们跟多是采用dump或者ctrl+G来进行数据窗口跟随,并且在数据窗口右键进行下断点,或者查看不同的数据类型等操作
1.2 在xdbg的反汇编窗口中点右键,我们发现布局和OD有很大的不同
这里缺少了一些OD中有的内容,比如查看注释,真正的查看注释是在上面菜单栏的"视图"-"注释"中查看,也可以直接点图中的按钮
还有一些功能的位置也发生了变化,比如查找常量,这个功能在下面的"搜索"中
这个搜索是有范围的,我们可以通过不同的范围去查找常量,命令等等
1.3 xdbg的分析代码和OD也有一些不同,我们可以在代码段中点击"A"来对局部代码进行分析,这一点要比OD方便的多
1.4 xdbg还有函数调用的参数窗口,可以在函数断下时查看参数值,这一点也比OD方便一些,不过实用性并不强
1.5 当我们学习一段时间后还会发现,xdbg有一个OD无法比拟的优势,就是他可以查看的寄存器非常多,比如xmm和ymm寄存器
这些寄存器在OD中是无法查看的,虽然OD也识别这些寄存器的指令,但是并没有对其数值及进行显示.
1.6 xdbg的调用堆栈,和OD中的"K"功能在界面上还是有一点小差别的
xdbg需要完善的功能
当然xdbg也有一些不是很完善的功能,比如在堆栈窗口中无法对数值进行查找,只能复制到文档中查找.
xdbg的执行到返回,值能执行到retn,无法像OD一样自带F8步进
xdbg和OD各有利弊,相信在未来几年,xdbg的功能也会越来越完善,也建议大家能够掌握这两种调试器的使用方法,以便于后面的学习.