OllyDbg断点技术详解:从普通到条件记录
需积分: 45 82 浏览量
更新于2024-08-08
收藏 1.27MB PDF 举报
"本文档是关于OllyDbg的详细教程,涵盖了断点、反汇编、分析、扫描器和调试的各种功能。"
OllyDbg是一款强大的32位汇编语言分析和调试工具,其特色在于能处理无源代码的情况和解决复杂问题。在OllyDbg中,断点是调试的核心机制,它允许用户在特定位置暂停程序执行以便进行分析。
1. **一般断点**:是最基础的断点类型,通过替换目标指令的首个字节为INT3指令来实现。用户可以通过F2键在反汇编窗口中设置或删除断点。INT3断点的数量不受限制,OllyDbg会在程序关闭时自动保存这些断点。需要注意的是,不应在数据段或指令中间设置此类断点,以避免可能的错误。
2. **条件断点**:基于特定条件的断点,由Shift+F2键设置。当满足条件表达式时,程序会被暂停。条件断点可能导致性能开销,因为调试器需要计算表达式。在Windows NT和奔腾II/450处理器环境下,每秒最多能处理2500个未触发的条件断点。例如,它们常用于针对特定Windows消息(如WM_PAINT)设置断点。
3. **条件记录断点**:与条件断点类似,但会记录函数调用或参数值。例如,可以记录某个窗口过程函数的所有调用,或者只记录特定消息(如WM_COMMAND)或特定文件操作(如只读打开文件)。用户还可以设置通过次数,达到次数后断点才会生效,这在分析循环或重复行为时非常有用。
4. **消息断点**:针对特定窗口消息的断点,如WM_PAINT,OllyDbg会自动创建符合条件的断点。这些断点可以在“窗口”窗口中设置。
5. **跟踪断点**:在执行选定命令后会自动移除的INT3断点,有Hit跟踪和Run跟踪两种模式。Hit跟踪在命令执行后移除断点并标记地址,而Run跟踪则会在下一次执行同一地址时移除断点。
此外,OllyDbg还提供了各种其他功能,包括反汇编窗口、分析器、对象和Implib扫描器、内存映射窗口、线程和调用栈管理,以及各种搜索和自定义功能。它还支持插件系统,允许扩展其功能,如改变寄存器内容或执行自定义命令。最后,文档中包含了丰富的快捷键和使用技巧,帮助用户更高效地使用OllyDbg进行调试工作。
2021-06-19 上传
2011-03-20 上传
2021-04-02 上传
breakpoints-and-debugging-pawanghising67:GitHub Classroom创建的breakpoints-and-debugging-pawanghising67
2021-04-15 上传
2021-03-16 上传
2021-03-18 上传
2021-06-17 上传
2021-05-20 上传
2021-04-29 上传
啊宇哥哥
- 粉丝: 35
- 资源: 3872
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常