WEB开发网
开发学院网络安全黑客技术 Olldbg常见问题 阅读

Olldbg常见问题

 2007-01-14 20:15:31 来源:WEB开发网   
核心提示:Q:OD中如何运行到光标所在处?A:将光标移到目标位置,按F4.(SoftICE等价功能键是F7)Q:如何用OD修改可执行程序?A:直接在反汇编代码区更改,这时可以使用汇编代码更改,然后选中修改后的汇编代码,Olldbg常见问题,右击-->复制到可执行文件-->保存文件.Q:使用OD,从内存区复制内存数据的

Q:OD中如何运行到光标所在处?

A:将光标移到目标位置,按F4.(SoftICE等价功能键是F7)

Q:如何用OD修改可执行程序?

A:直接在反汇编代码区更改,这时可以使用汇编代码更改,然后选中修改后的汇编代码,右击-->复制到可执行文件-->保存文件.

Q:使用OD,从内存区复制内存数据的时候,有时候无法将所有的数据都复制到剪贴板

A:ALT+o打开调试选项,选择“字符串”标签,里面有个“无法打印的ASCII字符转存为圆点”,选中就可以了。或用OD修改版,可以主页工具下载栏目下。

(nbw回答)

Q:OD为什么删除了断点,重新加载的时候,这些断点都会重新出现

A:设置ollydbg.ini,将配制文件里改成如下:BackupUDDfiles=1

(kanxue)

Q:如何还原到OD到分析前的状态?

A:右键分析/从模块中删除扫描

Q:如果已经知道某一CALL的具体作用,能否把后面所有相同的CALL都改成函数名形式?

A:比如CALL110000  此中已经知道110000是一个核心计算

则如下操作,让光标停在CALL110000这个语句上,按回车键

会跳到110000的地址上去显示,之后让光标停在110000上,按

shift和;(分号)其实就是完成一个:(冒号)的动作,输入

名称,这回所有的调用110000处,都会显示CALL 你刚才输入的

名称了.(nig回答)

Q:什么是UDD?

A:OllyDbg把所有程序或模块相关的信息保存至单独的文件中,并在模块重新加载时继续使用。这些信息包括了标签、注释、断点、监视、分析数据、条件等等

Q:OD的数据窗口显示一个下划线,是什么意思?

A:重定位加下划线[Underlinefixups],几乎所有的DLL和一部分程序都包含重定位,这样就可以在内存中的不同基地址加载模块了。当该项开启时,CPU反汇编窗口或CPU数据窗口中的重定位地址都将添加下划线。(xing_xsz)

Q:用OD调试一些加壳程序,如Themida等,可能你会发现下断后(包括硬件断点),程序跑到断点时,OD会出现假死现像。

A:打开OD配置文件ollydbg.ini,你会发现:Restorewindows=123346 //这个Restorewindows可能会是一个很大的值

现在只需要将Restorewindows=0,重新用OD调试程序,假死问题就消失了。 (kanxue)

Q:请问“bmsg30A12wm_gettext”这个命令OD中怎么写?(OD中如何下消息断点?)

A:

http://bbs.pediy.com/showthread.php...;threadid=17671

还有:

SoftIce能够跟踪应用程序的消息,那么OllyDbg呢?

byFuZzYBiT

OllyDbg也是可以的,那是一个非常"隐蔽的功能"。它是如此的有用。

1.打开程序

2.名字窗口[在CPU窗口中按CTRL+N]

3.查找User32.TranslateMessageAPI

4.右击/FindReferences(查找参考)

5.下条件断点[SHIFT+F4]

6.表达式:MSG

7.记录函数参数:永远

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

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

只对WM_COMMAND记录

用这个方法做:

1.打开一个程序

2.名字窗口[在CPU窗口中按CTRL+N]

3.查找User32.TranslateMessageAPI

4.右击/FindReferences(查找参考)

5.下条件断点[SHIFT+F4]

6.条件框:MSG==WM_COMMAND

7.记录函数参数:条件满足时

Q:一些修改版的OD无法源码级调试程序

A:OD默认是用DBGHELP.dll,如果目录下没有这个,OD会到系统目录下找DBGHELP.dll。

而修改版OllyICE,为了防止一些程序检测DBGHELP.dll模块,故将其改名了,所以必须在当前目录下保留ICEHELP.DLL这个文件。

Tags:Olldbg 常见问题

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接