没有合适的资源?快使用搜索试试~ 我知道了~
OllyDbg 完全教程.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 18 浏览量
2023-02-22
19:27:15
上传
评论
收藏 455KB DOCX 举报
温馨提示
.OllyDbg。。完全教程.docx
资源推荐
资源详情
资源评论
OLLYDBG完全教程(一)
一,什么是 OllyDbg?
OllyDbg 是一种具有可视化界面的 32 位汇编-分析调试器。它的特别之处在于
可以在没有源代码时解决问题,并且可以处理其它编译器无法解决的难题。
Version 1.10 是最终的发布版本。 这个工程已经停止,我不再继续支持这个软
件了。但不用担心:全新打造的 OllyDbg 2.00 不久就会面世!
运行环境: OllyDbg 可以以在任何采用奔腾处理器的 Windows 95、98、ME、NT
或是 XP(未经完全测试)操
作系统中工作,但我们强烈建议您采用 300-MHz以上的奔腾处理器以达到最佳效
果。还有,OllyDbg 是极占内
存的,因此如果您需要使用诸如追踪调试[Trace]之类的扩展功能话,建议您
最好使用 128MB以上的内存。
支持的处理器: OllyD的数据格式,但是不支持 SSE2指令集。bg 支持所有
80x86、奔腾、MMX、3DNOW!、Athlon 扩展指令集、SSE指令集以及相关
配置: 有多达百余个(天呀!)选项用来设置 OllyDbg 的外观和运行。
数据格式:OllyDbg 的数据窗口能够显示的所有数据格式:HEX、ASCII、UNICODE、
16/32位有/无符号/HEX
整数、32/64/80位浮点数、地址、反汇编(MASM、IDEAL或是 HLA)、PE文件头
或线程数据块。
帮助: 此文件中包含了关于理解和使用 OllyDbg 的必要的信息。如果您还有
Windows API 帮助文件的话(
由于版权的问题 win32.hlp 没有包括在内),您可以将它挂在 OllyDbg 中,这
样就可以快速获得系统函数的
相关帮助。
启动: 您可以采用命令行的形式指定可执行文件、也可以从菜单中选择,或直
接拖放到 OllyDbg中,或者重新
启动上一个被调试程序,或是挂接[Attach]一个正在运行的程序。OllyDbg支
持即时调试。OllyDbg根本不需
要安装,可直接在软盘中运行!
调试 DLLs: 您可以利用 OllyDbg调试标准动态链接库 (DLLs)。OllyDbg 会自
动运行一个可执行程序。这个程
序会加载链接库,并允许您调用链接库的输出函数。
源码级调试:OllyDbg 可以识别所有 Borland 和 Microsoft 格式的调试信息。
这些信息包括源代码、函数
名、标签、全局变量、静态变量。有限度的支持动态(栈)变量和结构。
代码高亮: OllyDbg 的反汇编器可以高亮不同类型的指令(如:跳转、条件跳
转、入栈、出栈、调用、返回
、特殊的或是无效的指令)和不同的操作数(常规[general]、
FPU/SSE、段/系统寄存器、在栈或内存中的操作数,常量)。您可以定制个性化
高亮方案。
线程: OllyDbg 可以调试多线程程序。因此您可以在多个线程之间转换,挂起、
恢复、终止线程或是改变线
程优先级。并且线程窗口将会显示每个线程的错误(就像调用 GETLASTERROR 返
回一样)。
分析:OllyDbg 的最大特点之一就是分析。它会分析函数过程、循环语句、选择
语句、表[tables]、常量、
代码中的字符串、欺骗性指令[tricky constructs]、API调用、函数中参数
的数目,import表等等。. 这些
分析增加了黑吧代码的可读性,减少了出错的可能性,使得我们的调试工作更加
容易。
Object扫描。 OllyDbg 可以扫描 Object文件/库(包括 OMF 和 COFF 格式),
解压代码段[code segments]
并且对其位置进行定向。
Implib扫描。 由于一些 DLL文件的输出函数使用的索引号,对于人来说,这些
索引号没有实际含义。如果您有
与 DLL相应的输入库[import library],OllyDbg 就可以将序号转换成符号名
称。
完全支持 Unicode: 几乎所有支持 ASCII 的操作同时也支持 UNICODE,反之亦
然。
名称: OllyDbg 可以根据 Borland 和 Microsoft 格式的调试信息,显示输入/
输出符号及名称。Object 扫
描器可以识别库函数。其中的名称和注释您可任意添加。如果 DLL中的某些函数
是通过索引号输出的,则您可
通过挂接输入库[import library]来恢复原来的函数名称。不仅如此,OllyDbg
还能识别大量的常量符号名
(如:窗口消息、错误代码、位域[bit fields]„)并能够解码为已知的函数
调用。
已知函数:OllyDbg 可以识别 2300 多个 C 和 Windows API 中的常用函数及其
使用的参数。您可以添加描述
信息、预定义解码。您还可以在已知函数设定 Log 断点并可以对参数进行记录。
函数调用: OllyDbg 可以在没有调试信息或函数过程使用非标准的开始部分
[prolog]和结尾部分[epilog
]的情况下,对递归调用进行回溯。
译者注:
004010D0 push ebp \
004010D1 mov ebp,esp |
004010D3 sub esp,10h |prolog
004010D6 push ebx |
004010D7 push esi |
004010D8 push edi /
„„
004010C5 pop edi \
004010C6 pop esi |
004010C7 pop ebx |epilog
004010C8 mov esp,ebp |
004010CA pop ebp |
004010CB ret /
栈:在栈窗口中,OllyDbg 能智能识别返回地址和栈框架[Stack Frames]。并
会留下一些先前的调用。如果
程序停在已知函数上,堆栈窗口将会对其参数进行分析解码。
译者注:栈框架[Stack Frames]是指一个内存区域,用于存放函数参数和局部
变量。
SEH 链: 跟踪栈并显示结构化异常句柄链。全部链会显示在一个单独的窗口中。
搜索:方法真是太多了!可精确、模糊搜索命令或命令序列,搜索常数,搜索黑
吧、文本字符串,搜索全部
命令地址,搜索全部常量或地址域[address range],搜索所有能跳到选定地
址的跳转,搜索所有调用和被
调用的函数,搜索所有参考字符串,在不同模块中搜索所有调用、搜索函数名称,
在全部已分配的内存中搜索
黑吧序列。如果搜索到多个结果,您可以对其进行快速操作。
窗口:OllyDbg 能够列出关于调试程序中的各种窗口,并且可以在窗口、类甚至
选定的消息上设置断点。
资源:如果 Windows API 函数使用了参考资源串,OllyDbg 可以显示它。其支
持显示的类型仅限于附带资源
[attached resources]的列表、数据显示及黑吧编辑、。
断点: OllyDbg 支持各种断点:一般断点、条件断点、记录断点(比如记录函
数参数到记录窗口)、内存读
写断点、硬件断点(只适用于 ME/NT/2000)等。在 Hit跟踪情况下,可以在模
块的每条命令上都设置 INT3断点
。在使用 500-MHZ处理器的 Windows NT 中,OllyDbg 每秒可以处理高达 5000 个
中断。
监视与监察器:每个监视都是一个表达式并能实时显示表达式的值。您可以使用
寄存器、常数、地址表达式、
布尔值以及任何复杂代数运算,您还可以比较 ASCII和 UNICODE
字符串。监察器[inspectors]是一种包含了两个的索引序列的监视[Watches],
它以二维表的形式呈现,
可以对数组和结构进行解码分析。
Heap walk.:在基于 Win95的系统中,OllyDbg 可以列出所有的已分配的堆。
句柄:在基于 NT的系统中,OllyDbg 可列出被调试程序的所有系统句柄。
执行:.您可以单步执行、步入子程序或者步过子程序。您也可以执行程序直到
函数返回时、执行到指定地址
处,还可以自动执行。当程序运行时,您仍然可以操纵程序并能够查看内存、设
置断点甚至修改代码。您也可
以任意的暂停或重启被调试的程序。
Hit跟踪:.Hit跟踪可以显示出目前已执行的指令或函数过程,帮助您检验代码
的各个分支。Hit跟踪会在指定
指令到达之前设置断点,而在这个指令执行后,会把这个断点清除掉。
译者注:Hit在英文中是“击中”的意思,指令如果运行了就表示这个指令被
“击中”了,没有执行的指令就
是“未击中”,这样我们就很容易看出被调试程序哪些部分运行了,而哪些没有
运行。
Run跟踪: Run跟踪可以单步执行程序,它会在一个很大的循环缓冲区中模拟运
行程序。这个模拟器包含了除
了 SSE指令集以外的所以寄存器、标志、线程错误、消息、已经函数的参数。您
可以保存命令,这样可以非常
方便地调试自修改代码(译者注:比如加壳程序)。您可以设置条件中断,条件
包括地址范围、表达式、命令。您可以将 Run跟踪信息保存到一个文件中,这样
就可以对比两次运行的差别。Run跟踪可以回溯分析已执行过的上百万条命令的
各种细节。
统计: 统计[Profiler]可以在跟踪时计算某些指令出现的次数。因此您就能
了解代码的哪一部分被频繁执
行。
补丁:内置汇编器能够自动找到修改过的代码段。黑吧编辑器则会以 ASCII、
UNICODE或者十六进制的形式同
剩余68页未读,继续阅读
资源评论
春哥111
- 粉丝: 1w+
- 资源: 6万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- simpack地铁a、b型车模型
- 精简版x265教程:全面解析HEVC视频压缩技术及其应用场景
- buck 同步buck变器仿真 模型内包含开环,电压单环,电流单环电压电流双闭环 控制策略有PI,PID,电压前馈,前馈补偿控制 从系统的模型出发,建立系统传递函数,根据传递函数进行分析控制 有对
- 数据库管理,集成了MySQL、Redis、ES、Kafka、HDFS、InfluxDB、Pulsar等多种数据库组件的全生命周期管理,提供了海量集群的批量管理能力,以及相应DB组件的集群管理工具箱
- 视频编码器x264参数性能对比与优化推荐
- HEVC编码器x265的率失真复杂度优化(RDCO)算法研究与应用
- maxwell电机电磁仿真 新能源扁线电机设计及优化分析 电机仿真
- 基于Python与Keras的土木工程沉降预测深度学习模型设计与优化
- 三菱FX3U的自由口通讯(用的MODBUS RTU协议),通过485-BD板与台达VFD-M变频器用RS指令来实现 三菱PLC程序运用RS指令进行轮询通讯,正常情况下只进行读操作,当
- Django 写的应用商店 初型
- 【岗位说明】车间主任岗位说明书.xlsx
- 【岗位说明】爆破工岗位说明书.doc
- 【岗位说明】车间主任职务描述书.doc
- 【岗位说明】厂长职能说明书.doc
- 【岗位说明】操作工岗位职责说明书.doc
- 【岗位说明】吊车工岗位工作说明书.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功