OllyDbg是一个新的动态追踪工具,将IDA与SoftICE结合起来的思想,Ring 3级调试器,非常容易上手,是当今最为流行的调试解密工具之一。它还支持插件扩展功能,是目前最强大的调试工具之一。
OllyDbg打开如下图所示,包括反汇编窗口、寄存器窗口、信息窗口、数据窗口、堆栈窗口。
反汇编窗口:显示被调试程序的反汇编代码,包括地址、HEX数据、反汇编、注释
寄存器窗口:显示当前所选线程的CPU寄存器内容,点击标签可切换显示寄存器的方式
信息窗口:显示反汇编窗口中选中的第一个命令的参数及跳转目标地址、字符等
数据窗口:显示内存或文件的内容,右键菜单可切换显示方式
堆栈窗口:显示当前线程的堆栈
下图是打开EXE后显示的界面。
下面简单讲解常用的快捷键调试方式。
F2设置断点,如下图所示的红色位置,程序运行到此处会暂停,再按一次F2键会删除断点。
F9按下这个键运行程序,如果没有设置相应的点,被调试的程序直接开始运行。
F8单步步过,每按一次这个按键,将执行反汇编窗口中的一条指令,遇到CALL等子程序不进入其代码。
F7
单步步入,功能通单步步过(F8)类似,区别是遇到CALL等子程序时会进入其中,进入后首先停留在子程序的第一条指令上。如下图进入CALL子程序。