第三章 OllyDbg的使用
一、如何开始调试[How to start debugging session]
最简单的方法是:运行 OllyDbg,点击菜单上的文件[File]—>打开[Open],选择你想调试的程序。如果程序需要命令行参数,你可以在对话框底部的输入栏中,输入参数或者选择以前调试时输入过的一条参数。
OllyDbg 能够调试独立的DLL[stand—alone DLLs]。在这种情况下,OllyDbg 会创建并运行一个小的应用程序来加载链接库并根据你的需要调用输出函数。
如果你想重新启动上一次调试的程序,只要按一下 CtrlF2(这是重启程序的快捷键)(???),这样OllyDbg会以同样的参数运行这个程序。另一种做法是在菜单中选择文件[File],从历史列表中选择程序。你也可以在 Windows 资源管理器中将可执行文件或 DLL 文件拖拽到OllyDbg中。
当然,你可以在OllyDbg启动时,运行指定带有运行参数的被调试程序。例如:你可以在桌面创建一个OllyDbg的快捷方式,右击并选择“属性”,在“快捷方式”中的“目标”中添加调试的程序的全路径。这样,你每次双击快捷方式时,OllyDbg 将自动运行被调试程序。注意:DLL文件不支持这种方式。
你可以把正在运行的进程挂接到OllyDbg中。在菜单中打开文件[File]—>挂接[Attach],从进程列表中选择要挂接的进程。注意:在你关闭OllyDbg的同时,这个进程也会被关闭。不要挂接系统进程,否则可能会导致整个操作系统的崩溃。(事实上在大多数情况下,操作系统禁止你挂接敏感进程)。
OllyDbg 可以作为即时[just—in—time]调试器。这需要在系统注册表中注册。在菜单中选择选项[Options]—>即时调试[Just—in—time debugging] 并在弹出的对话框中单击按钮“设置OllyDbg为即时调试器”[MakeOllyDbgjust—in—time debugger]。今后,如果某个应用程序发生了非法操作,系统将提示你是否用OllyDbg 调试这个程序。操作系统会启动OllyDbg并直接停在发生异常的地方。如果你选择了“挂接时不询问”[attaching without confirmation],则在即时调试时OllyDbg不会弹出询问对话框。如果想恢复成以前的即时调试器[Restore oldjust—in—time debuger],按相应的按钮即可。
另一种方法是把OllyDbg添加到与可执行文件关联的快捷菜单中(这个想法是 Jochen Gerster 提出的)。在主菜单中,选择选项[Options]—>添加到资源管理器中[Addto Explorer]。以后你可以在所有的文件列表中,右击可执行文件或DLL,在快捷菜单中选择OllyDbg。这个功能会创建四个注册表键:
HKEY_CLASSES_ROOT\exefile\shell\Open with OllyDbg
HKEY_CLASSES_ROOT\exefile\shell\Open with OllyDbg\command
HKEY_CLASSES_ROOT\dllfile\shell\Open with OllyDbg
HKEY_CLASSES_ROOT\dllfile\shell\Open with OllyDbg\command
OllyDbg能够调试控制台程序(基于文字的)。
OllyDbg不能调试.NET应用程序。.NET程序是由微软的中间语言这种伪指令组成的,或是on—the—fly to native ?6 commands编译的。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-41789-11.html
你帅的太离谱了