首页
社区
课程
招聘
咳咳...问下什么是断点
发表于: 2009-11-4 11:03 3441

咳咳...问下什么是断点

2009-11-4 11:03
3441
咳咳...
问个问题
什么是断点
我见好多教程里面都说下断点
谁给说下是什么意思

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 2523
活跃值: (520)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
如果没有断点,CPU将会把能跑的指令一口气跑到底

如果有了断点,你可以在你下断点的地方人为地将指令中断下来,获得一个你自己处理的时机
2009-11-4 11:11
0
雪    币: 4460
活跃值: (2106)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
哦 知道了 谢谢 我开始也不清楚这个问题
2009-11-4 14:40
0
雪    币: 164
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
80386的不知道,8086中有个int 3中断,调试工具可用它替换断点处的代码,当cpu执行这条断点命令后,就产生类型号为3的中断,这种中断称为断电中断。
2009-11-4 19:48
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
楼主胆子真大,嘿嘿 敢在看雪问这个...
2009-11-4 19:57
0
雪    币: 72
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
2.1.5  断点
常用的断点有int3断点,硬件断点,内存断点等。
1.        int3断点
当执行,一个int3断点时候,其实是调试器, 将当前的指令替换成了CC(隐藏的),也就是int3断点,由于机器码是CC所以也称CC指令。在一个程序中,可以设置很多断点。
但是现在的程序都会对CC进行若干检测,Anti Debug。
2.        硬件断点
硬件断点和DRx调试寄存器有关。在Intel CPU体系架构手册。
DRx调试器共有八个,从DR0~DR7
DR0~DR3:调试地址寄存器,保存需要监视的地址,也即硬件断点。
DR4~DR5:保留,并未公开功能。
DR6:调试寄存器组状态寄存器。
DR7:调试寄存器组状态寄存器。
硬件断点是使用4个调试寄存器(DR0,DR1,DR2,DR3)来设定地址,做最多可以设定4个硬件断点。
硬件断点速度快,而且可以避免int3那种检测,缺点就是只能设置4个。

PS:使用完硬件断点必须删除,不然会驻留在程序中,使得后续的工作受到影响。
3.        内存断点
可以通过OD的内存窗口(Alt+M),在某个段上设定,内存断点。

4.        消息断点
Windows本身是消息驱动的,消息断点使得当前某个特定窗口函数接收到某个特定消息时程序中断。
Windows通过句柄来判断某个窗口发生了操作。

可以看到check那个句柄,可以在这句上设置消息断点。
具体的消息类型,选择WM_LBUTTONUP,位置为202。

这个是老大书里面的,我给你打字上屏了,希望有用。
《加密与解密》(第三版)
2009-11-4 22:11
0
游客
登录 | 注册 方可回帖
返回
//