OllyDbg调试工具使用完全教程r
r
一,什么是OllyDbg?r
r
OllyDbg是一种具有可视化界面的32位汇编分析调试器。它的特别之处在于可以在没有源代码时解决问题,并且可以处理其它编译器无法解决的难题。r
r
Versio
110是最终的发布版本。这个工程已经停止,我不再继续支持这个软件了。但不用担心:全新打造的OllyDbg200不久就会面世!r
r
运行环境:OllyDbg可以以在任何采用奔腾处理器的Wi
dows95、98、ME、NT或是XP(未经完全测试)操作系统中工作,但我们强烈建议您采用300MHz以上的奔腾处理器以达到最佳效果。还有,OllyDbg是极占内存的,因此如果您需要使用诸如追踪调试[Trace]之类的扩展功能话,建议您最好使用128MB以上的内存。r
r
支持的处理器:OllyDbg支持所有80x86、奔腾、MMX、3DNOW!、Athlo
扩展指令集、SSE指令集以及相关的数据格式,但是不支持SSE2指令集。r
r
配置:有多达百余个(天呀!)选项用来设置OllyDbg的外观和运行。r
r
数据格式:OllyDbg的数据窗口能够显示的所有数据格式:HEX、ASCII、UNICODE、1632位有无符号HEX整数、326480位浮点数、地址、反汇编(MASM、IDEAL或是HLA)、PE文件头或线程数据块。r
r
帮助:此文件中包含了关于理解和使用OllyDbg的必要的信息。如果您还有Wi
dowsAPI帮助文件的话(由于版权的问题wi
32hlp没有包括在内),您可以将它挂在OllyDbg中,这样就可以快速获得系统函数的相关帮助。r
r
启动:您可以采用命令行的形式指定可执行文件、也可以从菜单中选择,或直接拖放到OllyDbg中,或者重新启动上一个被调试程序,或是挂接[Attach]一个正在运行的程序。OllyDbg支持即时调试。OllyDbg根本不需要安装,可直接在软盘中运行!r
r
调试DLLs:您可以利用OllyDbg调试标准动态链接库DLLs。OllyDbg会自动运行一个可执行程序。这个程序会加载链接库,并允许您调用链接库的输出函数。r
r
源码级调试:OllyDbg可以识别所有Borla
d和Microsoft格式的调试信息。这些信息包括源代码、函数名、标签、全局变量、静态变量。有限度的支持动态(栈)变量和结构。r
r
代码高亮:OllyDbg的反汇编器可以高亮不同类型的指令(如:跳转、条件跳转、入栈、出栈、调用、返回、特殊的或是无效的指令)和不同的操作数(常规[ge
eral]、r
FPUSSE、段系统寄存器、在栈或内存中的操作数,常量)。您可以定制个性化高亮方案。r
r
线程:OllyDbg可以调试多线程程序。因此您可以在多个线程之间转换,挂起、恢复、终止线程或是改变线程优先级。并且线程窗口将会显示每个线程的错误(就像调用GETLASTERROR返回一r