现在的位置: 首页 > 综合 > 正文

OllyDbg使用技巧汇总

2013年03月28日 ⁄ 综合 ⁄ 共 1030字 ⁄ 字号 评论关闭

快捷键
F2:设置断点,只要在光标定位的位置(上图中灰色条)按F2键即可,再按一次F2键则会删除断点。
F8:单步步过。每按一次这个键执行一条反汇编窗口中的一条指令,遇到 CALL 等子程序不进入其代码。
F7:单步步入。功能同单步步过(F8)类似,区别是遇到 CALL 等子程序时会进入其中,进入后首先会停留在子程序的第一条指令上。
F4:运行到选定位置。作用就是直接运行到光标所在位置处暂停。
F9:运行。按下这个键如果没有设置相应断点的话,被调试的程序将直接开始运行。
Ctrl + F9:执行到返回。此命令在执行到一个 ret (返回指令)指令时暂停,常用于从系统领空返回到我们调试的程序领空。
Alt + F9:执行到用户代码。可用于从系统领空快速返回到我们调试的程序领空。

Ctrl + N:显示模块的输入输出函数(标签、名称)
Alt + B:显示断点窗口
Ctrl + F2:重新开始
Ctrl + G:跟随地址

条件断点
bp 断点地址, 断点条件
如bp 00401000, eax == 0

反汇编设置
有时候下载下来的OllyDbg的反汇编代码中没有显示段寄存器(如SS, DS等)以及模块地址,可能不太方便,可以设置一下。比如

0044127B   .  E8 E848FCFF   call    00405B68
00441280   .  A1 442C4400   mov     eax, dword ptr [442C44]

需要显示成:

0044127B   .  E8 E848FCFF   call    CrackMe3.00405B68
00441280   .  A1 442C4400   mov     eax, dword ptr ds:[442C44]

可以选择菜单项“选项”——“调试设置”——“反汇编”:
OD反汇编设置

函数参数与局部变量设置
如果你已经习惯了通过ebp与esp寄存器来观察局部变量或者函数参数,而不想看到[LOCAL.XXX]或者[ARG.XXX],如:

0040102B  |.  8D8D C4EAFFFF lea     ecx, [local.1359]
00401031  |.  E8 67010000   call    setup.0040119D

显示为

0040102B  |.  8D8D C4EAFFFF lea     ecx, dword ptr ss:[ebp-153C]
00401031  |.  E8 67010000   call    setup.0040119D

那么可以选择菜单项“选项”——“调试设置”——“分析1”:将显示函数中的参数及局部变量去掉。
OD中把[LOCAL.XXX]或者[ARG.XXX]换成[ESP-???]


本博客很少转载他人文章,如未特别标明,均为原创,转载请注明出处:
本文出自程序人生 >> [持续更新]OllyDbg使用技巧汇总

抱歉!评论已关闭.