专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »汇编语言 » ollydbg »正文

ollydbg

来源: 发布时间:星期三, 2008年12月10日 浏览:2次 评论:0
OllyDbg教程
小弟我是新手,对于OllyDbg这个工具,还不是太熟,所以特发此贴与想我这样新手来分享,也可以以后方便查询.
(以下内容全部来自网络)

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


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

快捷键:
F3装入
F8单步执行不进入call
F9 (运行)
F7,单步执行进入call
CTRL+F9,相当于trw2000F12
ALT+F9,相关于trw2000pmodule
F2,设置断点(相当于trw2000F9)
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 format
转存在十六进制字节格式

DC
Dump in ASCII format
转存在 ASCII 格式

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

DU
Dump in UN

ICODE 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 on all calls
清除位于全部断点

BC
Delete po
清除断点

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

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

MD
Remove memory po
清除内存断点

HR
HW on access
硬件中断在访问

HW
HW on write
硬件中断在写入

HE
HW on execution
硬件中断在执行

HD
Remove HW po
清除硬件断点

STOP
Pause execution
暂停执行
PAUSE
PAUSE

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

GE
Run and pas
s exception
运行和通过例外

SI
Step o
步入


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
直到返回

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 Breakpos 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 ( command needs it's own addr

es, \"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
扫描项目文件

网友最新评论别爱我我没钱 - [2005-8-20 16:52]OllyDbg
记住:工具栏所有功能都能在菜单栏里找到,工具栏是菜单栏快捷按钮(废话!)
各项详细功能我们在下面说!
再往下看有四个窗口他们是代码窗(左上),寄存器窗口(右上),内存窗口(左下)和堆栈窗口(右下)

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


*查看(V)------这个菜单我只介绍下我常用,别我不会!:-)
|____执行模块(快捷键ALT+E):查看该使用动态连接库(我理解)

;|____断点(快捷键ALT+B):这个是查看你所有断点,(有时自己设到哪里都忘了,可以看下)起到个辅助功能.
我就会这么多!:-(


*调试(D)-------这个菜单是关键,不明白你就别调试软件了!也只说常用!
|_______运行(F9)加载后,运行!
|
|_______暂停(F12)
|
|_______单步进入(F7)遇见CALL就进!进入该子程!行话:"跟进去"
|
|______单步跳过(F8)遇见CALL不进去!不去管子程内部!第次粗跟时候常用!
|
|______执行到返回(ALT+F9)就是执行到该子程返回语句! 别爱我我没钱 - [2005-8-20 16:57]关于快捷键,我找并不是很全,欢迎GGJJ们补充,还有在使用OD时候心得还有使用技巧,也希望能给予补充,以便以后能让我们这些菜鸟级人物方便参考查询..... 别爱我我没钱 - [2005-8-20 17:41]Ctrl+F2---OllyDbg重置重新开始调试如果没有活动OllyDbg装入历史列表中OllyDbg重置会释放内存移除硬断点
Alt+F2--关闭被调试
;|____断点(快捷键ALT+B):这个是查看你所有断点,(有时自己设到哪里都忘了,可以看下)起到个辅助功能.
我就会这么多!:-(


*调试(D)-------这个菜单是关键,不明白你就别调试软件了!也只说常用!
|_______运行(F9)加载后,运行!
|
|_______暂停(F12)
|
|_______单步进入(F7)遇见CALL就进!进入该子程!行话:"跟进去"
|
|______单步跳过(F8)遇见CALL不进去!不去管子程内部!第次粗跟时候常用!
|
|______执行到返回(ALT+F9)就是执行到该子程返回语句! 别爱我我没钱 - [2005-8-20 16:57]关于快捷键,我找并不是很全,欢迎GGJJ们补充,还有在使用OD时候心得还有使用技巧,也希望能给予补充,以便以后能让我们这些菜鸟级人物方便参考查询..... 别爱我我没钱 - [2005-8-20 17:41]Ctrl+F2---OllyDbg重置重新开始调试如果没有活动OllyDbg装入历史列表中OllyDbg重置会释放内存移除硬断点
Alt+F2--关闭被调试如 程以停止执行最好用继续键和菜单命令(像F9)恢复执行线程而不要用其它手动方法恢复
Ctrl+F12--run trace over步执行不进入记录寄存器内容Run trace不重绘CPU窗口
ESC--如果animation或跟踪正在进行将被终止如果CPU窗口显示跟踪时数据此时转为显示实际数据
Alt+B--打开或恢复Breakpo窗口这里可以编辑删除和观察断点
Alt+C--打开或恢复CPU窗口
Alt+E--打开或恢复模块列表
Alt+E--打开或恢复Call stack窗口
Alt+L--打开或恢复Log窗口
Alt+M--打开或恢复Memory窗口
Alt+O--打开Option对话框
Ctrl+P--打开Patch窗口
Ctrl+T--打开Pause run trace对话框
Alt+X-中断OllyDbg
多数窗口可以使用下列快捷键:
Alt+F3--关闭活动窗口
Ctrl+F4--关闭活动窗口
F5--最大化或恢复活动窗口
F6--激活下个窗口
Sht+F6--激活前个窗口
F10--打开激活窗口或面板右键菜单
LeftArrow--左移
Ctrl+LeftArrow--左移
RightArrow--右移
Ctrl+RightArrow--右移

如果本文没有解决您的问题,请进老妖怪开发者社区提问

标签:

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: