认识OD的两种断点

本文详细介绍了OllyDBG中三种断点的区别:内存断点、软件断点与硬件断点。内存断点每次只能设置一个,且会降低性能;软件断点通过重写代码插入中断指令实现控制;硬件断点依赖CPU物理支持,数量有限。正确选择断点类型对于高效调试至关重要。

OllyDBG从原理上来区分,有两种不同的断点:软件断点和硬件断点。

也许会有朋友说那不是还有内存断点吗?

内存断点严格来说是属于一种特殊的软件断点。

 

内存断点:

内存断点每次只能设置一个,假如你设置了另一个内存断点,则上一个会被自动删除。

设置一个内存断点,会改变整块(4KB)内存的属性,哪怕你只设置一个字节的内存断点。

另外还需要提一下的是,内存断点会明显降低OD的性能,因为OD经常会校对内存。

 

软件断点:

当我们按下F2设置的断点就是软件断点。

设置该断点的原理是在断点处重写代码,插入一个int3中断指令,当CPU执行到int3指令的时候,OD就可以获得控制权。

 

硬件断点:

这个原理跟软件断点不同,硬件断点的可行性依赖于CPU的物理支持。

传说中,有这么一些寄存器,它们只用于调试,我们称为调试寄存器:Dr0~Dr7

其中Dr0~Dr3四个寄存器用来存放中断地址,Dr4、Dr5保留不使用,Dr6、Dr7用来记录Dr0~Dr3的属性(如读,写还是执行,单位是字节,字还是双字)。

因此,这就解释了为啥硬件断点只有四个,天生不足哈。

 

那么聪明的鱼油肯定会追问:小甲鱼老湿,那我要如何来区分何时使用何种断点呢?

这两种断点在使用上都有它们自身的限制,只要搞清楚它们各自的特性就知道何时该用哪个了。

例如软件断点就只能在OD的CPU界面下,在数据段它下不了,在一条指令的中间它也下不了。

在我们这个例子中,断点我们想下在windows的动态链接库里,我们需要用到硬件断点,因为用软件断点下在dll文件中是不会保存的,重启程序后将丢失断点。

小甲鱼教程合集(基础篇+工具篇+系统篇+OD使用教程) 压缩包文件列表:小甲鱼_加密解密教程基础视频 基础篇_第一讲_概述.rar 基础篇_第二讲_一些必备的常识(1).rar 基础篇_第六讲_初步认识PE格式.rar 基础篇_第三讲_一些必备的常识(2).rar 基础篇_第四讲_Windows消息机制.rar 基础篇_第五讲_Windows保护模式.rar 小甲鱼_加密解密教程之工具篇 PEInfo编程思路讲解01-工具篇-解密系列.zip PEInfo编程思路讲解02-工具篇-解密系列.zip PEInfo编程思路讲解03-工具篇-解密系列.zip PEInfo编程思路讲解04-工具篇-解密系列.zip 小甲鱼_加密解密教程之系统篇 PE结构详解1-系统篇-第一讲-解密系列.rar PE结构详解3-系统篇-第三讲-解密系列.rar PE结构详解4-系统篇-第四讲-解密系列.rar PE结构详解5-系统篇-第五讲-解密系列.rar PE结构详解6-系统篇-第六讲(1)-解密系列.rar PE结构详解6-系统篇-第六讲(2)-解密系列.rar PE结构详解7-系统篇-第七讲-解密系列.rar PE结构详解8-系统篇-第八讲-解密系列.zip PE结构详解9-系统篇-第九讲-解密系列.zip PE结构详解10-系统篇-第十讲-解密系列.zip PE结构详解11-系统篇-第十一讲(2)-解密系列.zip PE结构详解11-系统篇-第十一讲-解密系列.zip 小甲鱼_解密调试之OD使用系列教程 OD使用教程1.zip OD使用教程2.zip OD使用教程3(上).zip OD使用教程3(下).zip OD使用教程3(中).zip OD使用教程4.zip OD使用教程5.zip OD使用教程6.zip OD使用教程7(上).zip OD使用教程7(下).zip OD使用教程8(下).zip OD使用教程8.zip OD使用教程9.zip OD使用教程10.zip OD使用教程11.zip OD使用教程12.zip OD使用教程13.zip OD使用教程14.zip OD使用教程15.zip OD使用教程16.zip OD使用教程17.zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值