OllyDbg教程-快捷键


预备知识
  大多数壳都有一个共同的特点。在壳准备开始解压时都要执行PUSHAD,当壳解压
完时都要调用POPAD。到底PUSHAD和POPAD是什么干什么用的呢?其实PUSHAD是用来将
所有普通寄存器顺序进栈的指令,POPAD是所有普通寄存器顺序出栈指令。POPAD的出
栈顺序和PUSHAD相反。壳为了保护寄存器,便在解压前将所有寄存器进栈保护起来,
当解压完成后又将寄存器出栈,恢复其原貌,并将IP设置为原程序的OEP。这样我们就
可以通过这个特点快速脱掉多种软件的壳。


32位程序级的调试器--ollyDbg,这个东东操作简便,提示信息量大,介绍一些简单的操作

快捷键:
F3,装入程序
F8,单步执行,不进入call
F9 (运行)
F7,单步执行,进入call
CTRL+F9,相当于trw2000的F12
ALT+F9,相关于trw2000的pmodule
F2,设置断点(相当于trw2000的F9)
CTRL+N(当前模块中的名称)
F12(暂定)
CTRL+F12(重新运行)
CTRL+F11(跟踪进入)
CTRL+T(设置条件)
CTRL+F7(自动步入)
CTRL+F8(自动步过)
CTRL+F9(执行到返回)

另转的快捷键使用方法如下
OllyDbg 常用快捷热键
聆风听雨整理
===============================================================
打开一个新的可执行程序 (F3)

重新运行当前调试的程序 (Ctrl+F2)

当前调试的程序 (Alt+F2)

运行选定的程序进行调试 (F9)

暂时停止被调试程序的执行 (F12)

单步进入被调试程序的 Call 中 (F7)

步过被调试程序的 Call (F8)

跟入被调试程序的 Call 中 (Ctrl+F11)

跟踪时跳过被调试程序的 Call (Ctrl+F12)

执行直到返回 (Ctrl+F9)

显示记录窗口 (Alt+L)

显示模块窗口 (Alt+E)

显示内存窗口 (Alt+M)

显示 CPU 窗口 (Alt+C)

显示补丁窗口 (Ctrl+P)

显示呼叫堆栈 (Alt+K)

显示断点窗口 (Alt+B)

打开调试选项窗口 (Alt+O)

 


窗口:
左上:代码区
左下:内存数据
右上:寄存器
右下:stack区


以下命令适用于 OllyDbg 的快捷命令栏插件(显示于程序的状态栏上方)

========================================================
CALC
判断表达式

WATCH
添加监视表达式

AT / FOLLOW
Disassemble at address
在地址进行反汇编

ORIG
Disassemble at EIP
反汇编于 EIP

DUMP
Dump at address
在地址转存

DA
Dump as disassembly
转存为反汇编代码

DB
Dump in hex byte format
转存在十六进制字节格式

DC
Dump in ASCII format
转存在 ASCII 格式

DD
Dump in stack format
转存在堆栈格式

DU
Dump in UNICODE format
转存在 UNICODE 格式

DW
Dump in hex word format
转存在十六进制字词格式

STK
Go to address in stack
前往堆栈中的地址

AS + 地址 + 字符串
Assemble at address
在地址进行汇编

L + 地址 + 字符串
Label at address
在地址进行标号

C + 地址 + 字符串
Comment at address
在地址进行注释

BP
Break with condition
使用条件中断

BPX
Break on all calls
中断在全部调用

BPD
Delete break on all calls
清除位于全部调用的断点

BC
Delete breakpoint
清除断点

MR
Memory breakpt on access
内存断点于访问时

MW
Memory breakpt on write
内存断点于写入时

MD
Remove memory breakpoint
清除内存断点

HR
HW break on access
硬件中断在访问

HW
HW break on write
硬件中断在写入

HE
HW break on execution
硬件中断在执行

HD
Remove HW breakpoint
清除硬件断点

STOP
Pause execution
暂停执行
PAUSE
PAUSE

RUN
Run program
运行程序
Run till address
运行到地址

GE
Run and pass exception
运行和通过例外

SI
Step into
步入


SO
Step over
步过

TI
Trace in till address
跟踪进入直到地址

TO
Trace over till address
跟踪步过直到地址

TC
Trace in till condition
跟踪进入直到条件

TOC
Trace over till condition
跟踪步过直到条件

TR
Till return
直到返回

TU
Till user code
直到用户代码

LOG
View Log window
查看记录窗口

MOD
View Modules window
查看模块窗口

MEM
View Memory window
查看内存窗口

CPU
View CPU window
查看 CPU 窗口

CS
View Call Stack
查看 Call 堆栈

BRK
View Breakpoints window
查看断点窗口

OPT
Open Options
打开选项

EXIT / QUIT
Quit OllyDbg
退出 OllyDbg

OPEN
Open executable file
打开可执行文件

CLOSE
Close executable
关闭程序

RST
Restart current program
恢复当前程序

HELP
Help on API function
API 函数的帮助

ASM
Assemble (if command needs it's own addres, /"ASM COMMAND;ADDRESS/")
汇编 (如果命令需要自身的地址 /"ASM COMMAND;ADDRESS/")

DASM
Disassemble immediate opcode
反汇编直接的机器码

FR
Find reference to selected command/address
查找参考到选定的命令/地址

AC
Analyse code
分析代码

SN
Search for Name(label) in current module
在当前模块中搜索名称(标号)

SOB
Scan object files
扫描项目文件
记住:工具栏的所有功能都能在菜单栏里找到,工具栏是菜单栏的快捷按钮(废话!)
  各项详细功能我们在下面说!
再往下看有四个窗口他们是代码窗(左上),寄存器窗口(右上),内存窗口(左下)和堆栈窗口(右下)

2*菜单栏各项命令功能
*文件(F)----这些命令用说吗?
    |____注意**该菜单的下部有你上次打开的纪录,该纪录保存有你上次未清除的断点**注意**


*查看(V)------这个菜单我只介绍一下我常用的,别的我不会!:-)
    |____执行模块(快捷键ALT+E):查看该程序使用的动态连接库(我的理解)
    |    
    |____断点(快捷键ALT+B):这个是查看你所有的断点,(有时自己设到哪里都忘了,可以看一下)起到一个辅助功能.
    我就会这么多!:-(


*调试(D)-------这个菜单是关键,不明白你就别调试软件了!也只说常用的!
    |_______运行(F9)加载程序后,运行!
    |
    |_______暂停(F12)
    |
    |_______单步进入(F7)遇见CALL就进!进入该子程!行话:"跟进去"
    |
    |______单步跳过(F8)遇见CALL不进去!不去管子程的内部!第一次粗跟的时候常用!
    |
    |______执行到返回(ALT+F9)就是执行到该子程的返回语句!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值