目录
一、OIIYDbg
OllyDbg是一种具有可视化界面的32位汇编分析调试器,是一个新的动态追踪工具,将IDA与SoftICE结合起来的思想,,非常容易上手,己代替SoftICE成为当今最为流行的调试解密工具了。同时还支持插件扩展功能,是目前最强大的调试工具。
OllyDBG 中各个窗口的功能如上图简单解释一下各个窗口的功能。
反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、 注释可以通过在窗口中右击出现的菜单界面选项-> 隐藏标题 或 显示标题 来进行切换是否显示 。 用鼠标左键点击注释标签
以切换注释显示的方式。
寄存器窗口: 显示当前所选线程的CPU 寄存器内容 同样点击标签 寄存器 ( FPU) 可以切换显示寄存器的方式.
信息窗口: 显示反汇编窗口中选中的第一个命令的参数及—些跳转目标地址、字串等.
数据窗口: 显示内存或文件的内容勺 右键菜单可用于切换显示方式。
堆栈窗口: 显示当前线程的堆栈。
二、基本调试方法
OllyDbg 有三种方式来载入程序进行调试。
一种是点击菜单 文件 ->打开 (快捷键是 F3) 来打开一个可执行文件进行调试。
另一种是点击菜单 文件-> 附加 来附加到一个已运行的进程上进行调试令 注意这里要附加的程序必须己运行。
第三种就是用右键菜单来载入程序 。
—般情况下我们选第—种方式,比如我们选择— 个 test.exe 来调试, 通过菜单 文件->打开 来载人这个程序, OllyDbg 中显示的内容如下:
三、经常使用的快捷键
F2: 设置断点,只要在光标定位的位置按 F2 键即可,再按—次 F2 键则会删除断点。(相当于 SoftICE 中的 F9)
F8: 单步步过,每按一次这个键执行一条反汇编窗口中的一条指令, 遇到 CALL 等子程序不进入其代码,(相当于 SoftICE 中的 F10)
F7: 单步步入,功能同单步步过 (F8) 类似, 区别是遇到 CALL 等子程序时会进入其中, 进入后首先会停留在子程序的第一条指令上。(相当千 SoftICE 中的 F8)
F4: 运行到选定位置。作用就是直接运行到光标所在位置处暂停。(相当于 SoftICE 中的 F7)
F9: 运行。按下这个键如果没有设詈相应断点的话, 被调试的程序将直接开始运行。(相当于 SoftICE 的 F5)
CTR+ F9: 执行到返回。此命令在执行到一个 ret (返回指令)指令时暂停,常用于从系统领空返回到我们调试的程序领空.(相当千 SoltICE 中的 F12 )
ALT+ F9: 执行到用户代码.可用千从系统领空快速返回到我们调试的程序领空.(相当千 SoftICE 中的F11)
上面提到的几个快捷键对于一般的调试基本上已够用了。要开始调试只需设置好断点, 找到你感兴趣的代码段再按 F8 或 F7 键来一条条分析指令功能就可以了。