http://wenku.baidu.com/link?url=RUX10o59V-urlF-Gs7xkScoeGC4wmXH0hfSFwuJyFWEBMJappOHhq5inpX7WhpSn_yyztp1MS3raDdCa1TE1SMHk7T1nRHY27GzYCgjn8eW

OllyDBG图文入门教程资料

(39人评价)|1878人阅读|120次下载|举报文档

O​l​l​y​D​B​G​图​文​入​门​教​程​资​料

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

CPU 

查看

 

CPU 

窗口

 

 

CS 

查看

 

Call 

堆栈

 

 

BRK 

查看断点窗口

 

 

OPT 

打开选项设置窗口

 

 

EXIT 

退出

 

OllyDbg 

 

QUIT 

退出

 

OllyDbg 

 

OPEN 

打开一个可执行文件

 

 

CLOSE 

关闭可执行文件

 

 

RST 

重新运行当前程序

 

 

HELP 

查看

 

API 

函数的帮助

 

 

olldbg 

下怎么下消息断点?

 

 

如在

softice 

中下

 

BMSG 

0084 

WM_DESTROY

,在

olldbg

下该怎么做?

 

 

不如下断

 

SendMessage

PostMessage

,程序中的消息不一定都经过消息循环。

 

 

Ollydbg

下消息断点的一个方法

 

 

原文:

 

SoftIce 

can 

trace 

application 

messages. 

And 

Olly? 

 

by 

FuZzYBiT 

 

SoftIce 

can 

trace 

application 

messages. 

And 

Olly? 

And 

so 

does 

OllyDbg. 

That’s 

very 

“hidden 

feature”. 

guess 

it 

is 

sooo 

useful.

 

1. 

Open 

program 

2. 

Names 

window 

[CTRL+N 

in 

CPU 

Window] 

3. 

Find 

User32.TranslateMessage 

API 

4. 

right 

click/FindReferences 

5. 

conditional 

breakpoint 

[SHIFT+F4] 

6. 

expression: 

MSG 

7. 

Log 

function 

arguments: 

Always 

If 

you 

cannot 

find 

it, 

try 

right 

click 

SEARCH 

FOR-> 

ALL 

INTERMODULAR 

CALLS. 

But 

if 

want 

to 

trap 

specific 

message 

like 

WM_COMMAND? 

To 

Log 

Only 

WM_COMMAND 

Do 

it 

in 

this 

fashion: 

1. 

Open 

program 

2. 

Names 

window 

[CTRL+N 

in 

CPU 

Window] 

3. 

Find 

User32.TranslateMessage 

API 

4. 

right 

click/FindReferences 

5. 

conditional 

breakpoint 

[SHIFT+F4] 

6. 

Condtion 

box: 

MSG==WM_COMMAND 

7. 

Log 

function 

arguments: 

On 

Condition 

If 

you 

can’t 

find 

User32.TranslateMessage 

API, 

do 

the 

same 

as 

above.

 

 

翻译

 

SoftIce 

能够跟踪应用程序的消息,那么

OllyDbg

呢?

 

by 

FuZzYBiT 

 

OllyDbg

也是可以的,那是一个非常

"

隐蔽的功能

"

。它是如此的有用。

 

1. 

打开程序

 

2. 

名字窗口

CPU

窗口中按

CTRL+N 

3. 

查找

 

User32.TranslateMessage 

API 

4. 

右击

/FindReferences(

查找参考

5. 

下条件断点

 

[SHIFT+F4] 

6. 

表达式

MSG 

7. 

记录函数参数

:

永远

 

 

如果你不能找到它,试试右击鼠标,然后搜索全部模块中的名称。

 

但是如果我想要捕捉一个特定的消息如

WM_COMMAND

只对

WM_COMMAND

记录

 

用这个方法做

1. 

打开一个程序

 

2. 

名字窗口

CPU

窗口中按

CTRL+N 

3. 

查找

 

User32.TranslateMessage 

API 

4. 

右击

/FindReferences(

查找参考

5. 

下条件断点

 

[SHIFT+F4] 

6. 

条件框

:MSG==WM_COMMAND 

7. 

记录函数参数

条件满足时

 

如果你不能找到

User32.TranslateMessage 

API

,象上面那样做。

 

 

 

http://www.chinadfcg.com/viewthread.php?tid=4050

 

 

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)