首页
社区
课程
招聘
[原创]断点-你需要了解的一切(一)-CC断点
2018-4-27 10:28 8127

[原创]断点-你需要了解的一切(一)-CC断点

2018-4-27 10:28
8127

断点的种类有以下几种:CC断点,内存断点,硬件断点,条件断点,记录断点,条件记录断点,消息断点等,第一课我们来学习CC断点。

调试器:OllyDbg

环境:win7 64位真机


CC断点又叫int3断点又叫F2断点,都是一个意思。 原理是,执行int3时程序就会暂停,而int3指令的机器码就是CC。 

鼠标左键单击选中一行,按下F2键就可以设置成功。设置成功的CC断点显示为红底白字,如下图 004271B1 所示。如果运行至该行,则显示为白底红字。如下图004271B0所示,两处均设置了CC断点,而当前EIP指向00407B0。


那么F2断点是如何生效的呢?用F2设置断点时,OD会将被下段处的机器码的首字节替换为CC,当程序执行到这里,执行CC而被断下,程序暂停。接着OD将CC恢复为原始代码就能执行真机器码了。执行完毕后又将 机器码的首字节替换为CC ,所以下次运行到这里时然会被再次断下。
利弊:设置CC断点它的好处是可以设置无数个,坏处是容易被检测到,进而执行干扰调试的反调试程序。
解决方法:尝试使用更高级的内存断点或硬件断点,请看下一课:断点-你需要了解的一切(二)-内存断点

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2018-4-27 11:14 被r0Cat编辑 ,原因:
收藏
点赞3
打赏
分享
最新回复 (5)
雪    币: 459
活跃值: (652)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
ssarg 2018-4-27 11:03
2
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
fadax 2018-4-28 11:15
3
0
赞一个啊
雪    币: 3539
活跃值: (911)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
smartdon 1 2018-5-22 10:35
4
0
很详细,学习了
雪    币: 2694
活跃值: (80)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
BlackJZero 2018-6-3 12:13
5
0
雪    币: 3349
活跃值: (5093)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yp太阳神 2022-4-9 12:39
6
0
只知道f2断点,现在了解了原理
游客
登录 | 注册 方可回帖
返回