OllyDebug-工具介绍

工具介绍

OD,软件名称,反汇编工具OD=OllyDebug,一个新的动态追踪工具,将IDA与SoftICE结合起来的思想,Ring 3 级的调试器。OllyDebug的使用界面是可视化操作,但是非常的占内存。

窗口介绍

反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX数据、反汇编、注释可以通过在窗口中右击出现的菜单:界面选项->隐藏标题,或“显示标题”来进行切换是否显示。用鼠标左键点击注释标签可以切换注释显示的方式。
寄存器窗口:显示当前所选线程的 CPU 寄存器内容。同样点击标签“寄存器(FPU)”可以切换显示寄存器的方式。
信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等。
数据窗口:显示内存或文件的内容。右键菜单可用于切换显示方式。
堆栈窗口:显示当前线程的堆栈。

常用按钮介绍


鼠标停留在按钮上,软件左下方会有功能介绍。
从左至右,功能依次为:
重新运行程序;
关闭程序;
运行程序;
暂停执行;
单步步入;
单步步过;
跟踪步入;
跟踪步过;
执行到返回;
转到反汇编窗口中的地址;

l:显示记录窗口
e:显示模块窗口
m:显示内存窗口
t:显示线程
w:显示窗口
h:显示句柄
c:显示CPU
p:显示补丁
k:显示堆栈
b:显示断点
r:显示参考
s:显示源码

插件功能介绍


BP:快捷断点选项
P :方便记录的小公举
VB:适用于VB程序的断点
Notepad:记事本
Calc:计算器
Folder:打开文件位置
CMD:命令行

常用快捷键

Ctrl+F2:重启程序。
Alt+F2:关闭被调试程序。
F3:弹出“打开32位.EXE文件”对话框。
Alt+F5:让OllyDbg置顶。(此按键可反向执行)。

F7:单步步入到下一条命令,如果当前命令是一个函数[Call],则会停在这个函数体的第一条命令上。

Shift+F7:与F7相同,但是如果被调试程序发生异常而中止。
Ctrl+F7:自动步入,在所有的函数调用中一条一条地执行命令(类似一直按着F7)。

F8:单步步过到下一条命令。

Shift+F8:与F8相同,但是如果被调试程序发生异常而中止,OD会首先尝试步过被调试程序指定的异常处理。
Ctrl+F8:自动步过,一条一条的执行命令,但并不进入函数调用内部。

F9:让程序继续执行。设置断点之后,按F9会全速执行到断点处。

Shift+F9:与F9相同,但是如果被调试程序发生异常而中止,调试器会首先尝试执行被调试程序指定的异常处理。
Ctrl+F9:执行直到返回,跟踪程序直到遇到返回,在此期间不进入子函数也不更新CPU数据。
Alt+F9:执行直到返回到用户代码段,跟踪程序直到指令所属于的模块不在系统目录中。
Ctrl+F11:Run跟踪步入,一条一条执行命令,进入每个子函数调用,并把寄存器的信息加入到Run跟踪的存储数据中。
F12:停止程序执行,同时暂停被调试程序的所有线程。
F2:设置断点,只要在光标定位的位置按F2键即可,再按一次F2键则会删除断点。
F4:运行到选定位置。作用就是直接运行到光标所在位置处暂停。
ALT+F9:执行到用户代码。可用于从系统领空快速返回到我们调试的程序领空。