1) OD的安装
OD是以zip压缩包的形式发布的,比如 odbg110.zip 或,odbg200.zip把zip解压到任意目录,然后运行解压目录下
的OLLYDBG.EXE即可。
2) OD 的窗口
打开或附加到程序后,OD会打开多个子窗口,但是CPU窗口是最大化显示的,把其它窗口隐藏了,要查看其它窗
口,要么单击窗口切换面板上的图标。
3)窗口切换面板上图标与窗口的对应关系:
l: Log data 窗口 e: Executable modules 窗口 m:Memory map 窗口 t:Threads 窗口
w:Windows窗口 h: Handles 窗口 c:CPU 窗口 p:Patches 窗口
k: Call stack窗口 b: Breakpoints窗口 r:References 窗口 s: Source 窗口
...:Run trace 窗口
4)窗口的外观:
各个窗口的外观都是在其右键菜单里的 “Appearance” 中控制的,如是否显示标题栏、字体、颜色。
5)CPU窗口:
CPU窗口是OD中最重要的窗口,调试程序时的绝大部分操作都是在这个窗口中进行的。
CPU窗口包括5个面板窗口:反汇编面板、寄存器面板、消息面板、数据面板 及 堆栈面板。
5.1 反汇编面板(Disassembler Windows)窗口:
5.1.1 反汇编面板有4列: Address 、Hex dump、Disassembly 及 comment。
5.1.2 反汇编面板各列的功能:
5.1.2.1 Address列:显示程序的虚拟地址。
5.1.2.2 Hex Dump列:显示该地址处的机器指令。
5.1.2.3 Disassembly列:显示改地址处汇编指令。
5.1.2.4 comment列显示相关API参数或运行简表。
5.1.3 反汇编面板的双击操作:
5.1.3.1 Address列:双击该列,显示相对于被双击地址的地址,再双击,显示标准地址。
5.1.3.2 Hex dump列: 双击该列设置无条件断点,再双击取消设置的断点 (对应的快捷键是F2)。
5.1.3.3 Disassemly列:双击该列调用汇编器修改改行代码(对应的快捷键是空格键)。
5.1.3.4 Comment列: 双击该列可以添加或编辑注释(对应的快捷键是分号键)。
5.1.4 反汇编面板上选择多行:
5.1.4.1 Shift 键 + 上下箭头键
5.1.4.2 Shift 键 + Page Up 或 Page Down键
5.1.5 隐藏列:
Ctrl 键 + 右箭头
5.1.6 按字节单位上下移动反汇编窗口
Ctrl 键 + 上下箭头
5.2 信息面板(Information Window)窗口:
显示所选指令相关的寄存器的值,挑战提示,API函数调用提示信息。
5.3 数据面板(Dump windows)窗口:
5.3.1 由三列构成:地址列,HEX数据列,ASCII列。
5.3.1.1 地址列: 显示程序的虚拟地址。
5.3.1.2 HEX数据:显示以该地址为起始的以16进制显示的16字节的数据。
5.3.1.3 ASCII列: 显示以该地址为起始的 16字节数据的ASCII表示。
5.3.2 在数据面板窗口中显示指定地址处的数据:
Ctrl 键 + G 或 右键菜单 “Go to expression” 打开地址输入窗口后输入地址即可。
5.4 寄存器面板窗口(Register window)
5.4.1 显示CPU各寄存器的值:可以显示浮点、MMX、3DNow及调试寄存器的值。
5.4.2 单击标题栏可以在 浮点、MMX、3DNow之间切换。
5.4.3 右键 “查看调试寄存器” 可以查看调试寄存器
5.5 的面板窗口(Stack window)
5.5.1 显示堆栈的内容,即ESP指向地址处的内容。
5.5.2 可以显示函数局部变量、函数调用实参。