int 3 软中断指令

1. int 3断点是一种很常用的断点类型,其机器码为CCh,所以也称为CC指令;

2. OllyDbg中用快捷键F2设置的断点就是int 3断点;

3. int 3断点原理

 1)当执行一个int 3断点时,该地址处的内容被调试器用int3指令替换,但OD将int3隐藏,显示出来仍是下断前的指令;

 2)当被调试程序执行int3指令导致一个异常时,调试器就会捕捉这个异常从而停在断点处,然后将断点处的指令恢复成原来指令。

4. int 3断点的优缺点

 优点:可设置无数个断点;

 缺点:改变了原程序指令,容易被软件检测到。

5.int 3断点常用场合

 1)逆向:利用int 3断点来跟踪内存和寄存器的内容;

 2)防破解:

        一些软件为例阻碍被人破解,会在程序中使用int 3;从而使得利用int3的调试工具无法正常调试。

       一些防范API被下断的软件,会检测API的首地址是否为CCh,来判断是否被下了断点。(躲过此类检查方法:将断点下在函数内部或末尾

6.扩展

 1)int 3不只是一个软件调试中断指令,通过它,你可以进入ring0,那个许多人都想进入的神秘世界;

 2)int 3不只是一个简单的中断,利用它,你可以完成许多过去不敢想象的事,只要你敢去尝试。


你可能感兴趣的:(调试,软中断,int3)