- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十一章:硬件断点与条件断点
下面我们将把剩下的类型的断点介绍完,
本章先介绍硬件断点和条件断点。
硬件断点
硬件断点(简称:HBP)是处理器的特性之一
,它的工作原理我不是很了解,但是我们会
用就行了,我们可以设置硬件断点使程序
中断下来。
在OD中我们最多可以设置4个硬件断点,如
果想设置第5个的话,你需要删除已经设置
了的4个中的其中一个。
跟之前一样,我们还是拿CrueHeada的Cra
ckMe来做实验。
硬件断点分为:硬件执行断点(ON EXECUTI
ON),硬件写入断点(ON WRITE),硬件访问
断点(ON ACCESS)3种。
硬件执行断点与普通的CC断点作用一样,
但硬件执行断点并不会将指令首字节修改
为CC,所以更难检测。但是有些程序会使
用一些技巧来清除硬件断点,应对方法我
们会在后面的章节介绍。
如果你想在401013处设置硬件执行断点的
话,请在401013这一行单击鼠标右键选择-
Breakpoint-Hardware,on execution。
也可以在命令栏中输入:
这样可以设置硬件执行断点。
OD中有个特殊的窗口,通过它我们可以查
看和管理硬件断点。我们选择菜单栏中的
Debug-Hardware breakpoints就可以打开
这个窗口。
在硬件断点窗口中,如果我们单击Follow
按钮,反汇编窗口中该硬件断点所对应的
那一行指令就会灰色高亮显示。如果我们
单击Delete按钮,那么相应的硬件断点就
会被清除。
现在按F9键运行程序。
中断在401013处。
正如你所看到的,起到的效果跟普通的CC
断点有点像,如果你像对CC断点做的测试-
MOV EAX,DWORD PTR DS:[401013]一样的
话,你会发现机器码并没有改变。
在401000这一行单击鼠标右键选择-New o
rigin here将EIP修改为401000,接着按F7
键单步。
可以看到EAX的值为0004A6E8,内存的形式
为E8 A60400,机器码并没有发生变化。
如果我们重启OD,可以看到硬件断点依然
存在。
单击Delete按钮将其删除,然后给Message
BoxA API函数设置一个硬件执行断点。
我们来看看硬件断点窗口。
我们知道,如果按F9键将程序运行起来,然
后输入用户名和序列号,跟之前的普通CC
断点一样程序将断在MessageBoxA的第一
条指令处,这里就不再赘述了。
单个硬件写入断点或者硬件访问断点可以
设置1,2或者4个字节的长度,不论我们选
择的数据范围有多大,只有前4个字节会起
作用。
现在我们清除所有设置的硬件断点,然后
再4020CA处设置一个硬件访问断点。
我们在数据窗口中转到4020CA这个地址处
。
注意前4个字节。
单击鼠标右键。
可以看到,对于我们标记的区域,硬件访问
断点可供我们选择的长度只有1字节和2字
节,由于4字节的只针对4的倍数的地址,当
前地址并不是4的倍数,所以没有该菜单项
。
接下来我们选择后面的1个字节,单击鼠标
右键选择-Hardware,on access,可以看到
只有1个字节的选项。
我们接着选中后面一个字节,这个时候出
现了4个字节 (Dword)的选项。
如果我们想在读取或者写入4020CA地址处
的内容的时候断下来的话,我们给该地址
设置1个字节的硬件访问断点即可。
返回到4020CA处,单击鼠标右键选择-Hard
ware,on access-Byte。
我们可以看到硬件断点窗口中显示的硬件
访问断点长度为1个字节。
F9键运行。
OD提示命中了1号硬件断点。
我们可以看到程序断在了触发硬件访问断
点或者硬件写入断点的下一条指令处,所
以请记住硬件访问/写入断点是断在触发
硬件断点的下一条指令处。
正如你所看到的,跟内存断点不一样,内存
断点会断在触发断点指令处,也就是40100
7处。
而硬件访问/断点断在了触发硬件断点的
下一条指令40100C处。
条件断点
条件断点实际上就是普通的CC断点,只不
过该断点的触发需要满足设置的条件,如
果满足设置的条件,那么程序就会中断下
来,如果不满足条件的话,就和没有设置CC
断点差不多。
我们来看一个例子:
重启OD并清除我们之前设置的所有硬件断
点,我们在40100E处设置一个条件断点,在
40100E处单击鼠标右键选择-Breakpoint-
Conditional。
就会弹出设置条件的窗口。
举个例子,如果你想当前EAX等于400000的
时候
您可能关注的文档
最近下载
- 2017-2018学年度七年级第二学期班主任工作计划.doc VIP
- .2024.7.30项目)年产5500吨植保健康高效农药及70000吨医药中间体项目(一期、二期山东国邦药业有限公司报告书潍坊市滨海区绿色化工产业园临港路06335号.pdf VIP
- 钢漏斗仓计算.xls VIP
- 2025中华护理学会团体标准——抗肿瘤药物静脉给药技术.pptx
- 社会保障国际比较电子课件(完整版).ppt
- 2025年公需课《新质生产力与现代化产业体系》试题答案.doc VIP
- 高中数学 导数专项 第9讲 端点效应.pdf VIP
- 运动解剖学课外讨论课件.pptx VIP
- 建筑人工费清包合同范本.doc VIP
- 《青少年成长发育保健》课件.pptx
原创力文档


文档评论(0)