Ollydbg动态调试的时候需要打一些断点,断点分为INT3断点和硬件断点,本文是区分两个断点的文章。
目录
INT3断点
好处
坏处
硬件断点
原理
优点
缺点
INT3断点
OD中使用F2快捷键设置的断点就是INT3断点
打INT3断点的时候,断点处就会被CCh(INT3指令的机器码)替换
在Ollydbg中的使用
在指令处右击,按照以下方式选择
好处
可以设置无数个断点
坏处
改变了原程序的指令
为了防止API被下断点,就会判断API的首地址是不是CCh
取函数的第一个字节,进行判断,是否下了断点
硬件断点
硬件断点和DRx调试器有很大关系
从Intel CPU体系架构中可以找到DRx的介绍
原理
使用4个调试寄存器 DR0,DR1,DR2,DR3,设置地址
使用一个寄存器DR7设定状态
最多设置4个硬件断点
优点
速度比较快,在INT3断点容易被发现的地方使用硬件断点
缺点
最多只有三个断点