Ol.lyDbg学习入门完全教学课件(完美排版~)

上传人:不*** 文档编号:88038479 上传时间:2019-04-17 格式:DOC 页数:42 大小:1.49MB
返回 下载 相关 举报
Ol.lyDbg学习入门完全教学课件(完美排版~)_第1页
第1页 / 共42页
Ol.lyDbg学习入门完全教学课件(完美排版~)_第2页
第2页 / 共42页
Ol.lyDbg学习入门完全教学课件(完美排版~)_第3页
第3页 / 共42页
Ol.lyDbg学习入门完全教学课件(完美排版~)_第4页
第4页 / 共42页
Ol.lyDbg学习入门完全教学课件(完美排版~)_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《Ol.lyDbg学习入门完全教学课件(完美排版~)》由会员分享,可在线阅读,更多相关《Ol.lyDbg学习入门完全教学课件(完美排版~)(42页珍藏版)》请在金锄头文库上搜索。

1、OllyDbg完全教程目录第一章 概述1第二章 组件5一、一般原理General prnciples5二、反汇编器Disassembler8三、分析器Analysis9四、Object扫描器Object scanner12五、Implib扫描器 Implib scanner12第三章 OllyDbg的使用13一、如何开始调试How to start debugging session13二、CPU 窗口CPU window14三、断点Breakpoints14四、数据窗口Dump15五、可执行模块窗口Executable modules window16六、内存映射窗口Memory map w

2、indow17七、监视与监察器Watches and inspectors19八、线程Threads19九、调用栈Call stack20十、调用树Call tree21十一、选项Options21十二、搜索Search22十三、自解压文件Selfextracting (SFX) files22十四、单步执行与自动执行Stepbystep execution and animation23十五、Hit跟踪Hit trace23十六、Run 跟踪Run trace24十七、 快捷键26十八、插件Plugins29十九、技巧提示Tips and tricks29第四章 其他功能30一、调试独立的D

3、LLDebugging of standalone DLLs30二、解码提示Decoding hints32三、表达式赋值Evaluation of expressions32四、自定义函数描述Custom function descriptions34第一章 概述OllyDbg 是一种具有可视化界面的 32 位汇编分析调试器。它的特别之处在于可以在没有源代码时解决问题,并且可以处理其它编译器无法解决的难题。Version 1.10 是最终的发布版本。 这个工程已经停止,我不再继续支持这个软件了。但不用担心:全新打造的OllyDbg2.00 不久就会面世!运行环境:OllyDbg可以以在任何采

4、用奔腾处理器的 Windows 95、98、ME、NT 或是 XP(未经完全测试)操作系统中工作,但我们强烈建议你采用300MHz以上的奔腾处理器以达到最佳效果。还有,OllyDbg 是极占内存的,因此如果你需要使用诸如追踪调试Trace之类的扩展功能话,建议你最好使用128MB以上的内存。支持的处理器:OllyDbg支持所有 80x86、奔腾、MMX、3DNOW!、Athlon 扩展指令集、SSE指令集以及相关的数据格式,但是不支持SSE2指令集。配置: 有多达百余个选项用来设置OllyDbg的外观和运行。数据格式:OllyDbg的数据窗口能够显示的所有数据格式:HEX、ASCII、UNIC

5、ODE、 16/32位有/无符号/HEX整数、32/64/80位浮点数、地址、反汇编(MASM、IDEAL或是HLA)、PE文件头或线程数据块。帮助: 此文件中包含了关于理解和使用OllyDbg的必要的信息。如果你还有 Windows API 帮助文件的话(由于版权的问题win32.hlp没有包括在内),你可以将它挂在OllyDbg 中,这样就可以快速获得系统函数的相关帮助。启动: 你可以采用命令行的形式指定可执行文件、也可以从菜单中选择,或直接拖放到OllyDbg中,或者重新启动上一个被调试程序,或是挂接Attach一个正在运行的程序。OllyDbg支持即时调试。OllyDbg根本不需要安装

6、,可直接在软盘中运行! 调试DLLs: 你可以利用OllyDbg调试标准动态链接库 (DLLs)。OllyDbg 会自动运行一个可执行程序。这个程序会加载链接库,并允许你调用链接库的输出函数。源码级调试:OllyDbg可以识别所有 Borland 和 Microsoft 格式的调试信息。这些信息包括源代码、函数名、标签、全局变量、静态变量。有限度的支持动态(栈)变量和结构。代码高亮:OllyDbg的反汇编器可以高亮不同类型的指令(如:跳转、条件跳转、入栈、出栈、调用、返回、特殊的或是无效的指令)和不同的操作数(常规general、FPU/SSE、段/系统寄存器、在栈或内存中的操作数,常量)。你

7、可以定制个性化高亮方案。线程:OllyDbg可以调试多线程程序。因此你可以在多个线程之间转换,挂起、恢复、终止线程或是改变线程优先级。并且线程窗口将会显示每个线程的错误(就像调用 GETLASTERROR 返回一样)。分析:OllyDbg 的最大特点之一就是分析。它会分析函数过程、循环语句、选择语句、表tables、常量、代码中的字符串、欺骗性指令tricky constructs、API调用、函数中参数的数目,import表等等。这些分析增加了二进制代码的可读性,减少了出错的可能性,使得我们的调试工作更加容易。Object扫描:OllyDbg 可以扫描Object文件/库(包括 OMF 和

8、COFF 格式),解压代码段code segments并且对其位置进行定向。Implib扫描: 由于一些DLL文件的输出函数使用的索引号,对于人来说,这些索引号没有实际含义。如果你有与DLL相应的输入库import library,OllyDbg 就可以将序号转换成符号名称。完全支持Unicode: 几乎所有支持 ASCII 的操作同时也支持 UNICODE,反之亦然。名称:OllyDbg可以根据 Borland 和 Microsoft 格式的调试信息,显示输入/输出符号及名称。Object 扫描器可以识别库函数。其中的名称和注释你可任意添加。如果DLL中的某些函数是通过索引号输出的,则你可通

9、过挂接输入库import library来恢复原来的函数名称。不仅如此,OllyDbg还能识别大量的常量符号名(如:窗口消息、错误代码、位域bit fields)并能够解码为已知的函数调用。已知函数:OllyDbg 可以识别 2300 多个 C 和 Windows API 中的常用函数及其使用的参数。你可以添加描述信息、预定义解码。你还可以在已知函数设定 Log 断点并可以对参数进行记录。函数调用:OllyDbg可以在没有调试信息或函数过程使用非标准的开始部分prolog和结尾部分epilog的情况下,对递归调用进行回溯。译者注:004010D0 push ebp 004010D1 mov e

10、bp,esp |004010D3 sub esp,10h |prolog004010D6 push ebx |004010D7 push esi |004010D8 push edi /004010C5 pop edi 004010C6 pop esi |004010C7 pop ebx |epilog004010C8 mov esp,ebp |004010CA pop ebp |004010CB ret/栈:在栈窗口中,OllyDbg 能智能识别返回地址和栈框架Stack Frames。并会留下一些先前的调用。如果程序停在已知函数上,堆栈窗口将会对其参数进行分析解码。译者注:栈框架Stack

11、 Frames是指一个内存区域,用于存放函数参数和局部变量。SEH 链: 跟踪栈并显示结构化异常句柄链。全部链会显示在一个单独的窗口中。搜索:方法真是太多了!可精确、模糊搜索命令或命令序列,搜索常数,搜索二进制、文本字符串,搜索全部命令地址,搜索全部常量或地址域address range,搜索所有能跳到选定地址的跳转,搜索所有调用和被调用的函数,搜索所有参考字符串,在不同模块中搜索所有调用、搜索函数名称,在全部已分配的内存中搜索二进制序列。如果搜索到多个结果,你可以对其进行快速操作。窗口:OllyDbg 能够列出关于调试程序中的各种窗口,并且可以在窗口、类甚至选定的消息上设置断点。 资源:如果

12、 Windows API 函数使用了参考资源串,OllyDbg 可以显示它。其支持显示的类型仅限于附带资源attached resources的列表、数据显示及二进制编辑。断点:OllyDbg支持各种断点:一般断点、条件断点、记录断点(比如记录函数参数到记录窗口)、内存读写断点、硬件断点(只适用于ME/NT/2000)等。在Hit跟踪情况下,可以在模块的每条命令上都设置INT3断点。在使用500MHZ处理器的 Windows NT 中,OllyDbg 每秒可以处理高达 5000 个中断。 监视与监察器:每个监视都是一个表达式并能实时显示表达式的值。你可以使用寄存器、常数、地址表达式、布尔值以及

13、任何复杂代数运算,你还可以比较ASCII和UNICODE字符串。监察器inspectors是一种包含了两个的索引序列的监视Watches,它以二维表的形式呈现,可以对数组和结构进行解码分析。 Heap walk.:在基于Win95的系统中,OllyDbg 可以列出所有的已分配的堆。句柄:在基于NT的系统中,OllyDbg 可列出被调试程序的所有系统句柄。执行:.你可以单步执行、步入子程序或者步过子程序。你也可以执行程序直到函数返回时、执行到指定地址处,还可以自动执行。当程序运行时,你仍然可以操纵程序并能够查看内存、设置断点甚至修改代码。你也可以任意的暂停或重启被调试的程序。Hit跟踪:.Hit

14、跟踪可以显示出目前已执行的指令或函数过程,帮助你检验代码的各个分支。Hit跟踪会在指定指令到达之前设置断点,而在这个指令执行后,会把这个断点清除掉。 译者注:Hit在英文中是“击中”的意思,指令如果运行了就表示这个指令被“击中”了,没有执行的指令就是“未击中”,这样我们就很容易看出被调试程序哪些部分运行了,而哪些没有运行。Run跟踪: Run跟踪可以单步执行程序,它会在一个很大的循环缓冲区中模拟运行程序。这个模拟器包含了除了SSE指令集以外的所以寄存器、标志、线程错误、消息、已经函数的参数。你可以保存命令,这样可以非常方便地调试自修改代码(译者注:比如加壳程序)。你可以设置条件中断,条件包括地

15、址范围、表达式、命令。你可以将Run跟踪信息保存到一个文件中,这样就可以对比两次运行的差别。Run跟踪可以回溯分析已执行过的上百万条命令的各种细节。统计: 统计Profiler可以在跟踪时计算某些指令出现的次数。因此你就能了解代码的哪一部分被频繁执行。补丁:内置汇编器能够自动找到修改过的代码段。二进制编辑器则会以ASCII、UNICODE或者十六进制的形式同步显示修改后的数据。修改后的数据同其它数据一样,能够进行复制粘贴操作。原来的数据会自动备份,以便数据恢复时使用。你可以把修改的部分直接复制到执行文件中,OllyDbg会自动修正。 OllyDbg还会记录以前调试过程中使用的所有补丁。你可以通过空格键实现补丁的激活或者禁止。自解压文件: 当调试自解压文件时,你往往希望跳过解压部分,直接停在程序的原始入口点。OllyDbg的自解压跟踪将会使你实现这一目的。如果是加保护的自解压段,自

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号