什么是ollydbg
- ollydebug是一种反汇编软件。OllyDebug,简称OD,一种反汇编软件,动态追踪工具,将IDA与SoftICE结合起来的思想,Ring 3 级的调试器。OllyDebug的使用界面是可视化操作。具有可视化界面的 32 位汇编-分析调试器。它的特别之处在于可以在没有源代码时解决问题,并且可以处理其它编译器无法解决的难题。
下载安装
- 下载链接,密码sum6
- 下载成功后全部解压缩然后运行ollydbg.exe
OD简单使用
界面
反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、 注释可以通过在窗口中右击出现的菜单界面选项-> 隐藏标题 或 显示标题 来进行切换是否显示 。 用鼠标左键点击注释标签
以切换注释显示的方式。
寄存器窗口: 显示当前所选线程的CPU 寄存器内容 同样点击标签 寄存器 ( FPU) 可以切换显示寄存器的方式.
信息窗口: 显示反汇编窗口中选中的第一个命令的参数及—些跳转目标地址、字串等.
数据窗口: 显示内存或文件的内容勺 右键菜单可用于切换显示方式。
堆栈窗口: 显示当前线程的堆栈。
基本调试方法
OllyDbg 有三种方式来载入程序进行调试。
- 一种是点击菜单 文件 ->打开 (快捷键是 F3) 来打开一个可执行文件进行调试。
- 另一种是点击菜单 文件-> 附加 来附加到一个已运行的进程上进行调试令 注意这里要附加的程序必须己运行。
- 第三种就是用右键菜单来载入程序 。
—般情况下我们选第—种方式,比如我们选择— 个 PlantsVsZombies.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)
Ctrl+F2 - 重启程序,即重新启动被调试程序。如果当前没有调试的程序,OllyDbg会运行历史列表
Alt+F2 - 关闭,即关闭被调试程序。如果程序仍在运行,会弹出一个提示信息,询问您是否要关闭程序。