OD三种断点原理

(1)int 3断点,即cc断点,这是一种基于软中断机制断点,3为中断号。OD中,当你在代码区某行按F2即可实现,其机理是把所在代码的第一个字节保存到一张表上,然后将其修改为CC,当程序运行到此代码时,就会产生中断,从而转至中断服务程序。当你去除断点时,OD会从表里读取出当前断点原来的字节内容。

 

(2)内存断点,假如你用int 3断点对数据区下断,OD会提示你断点可能不会实现,其实也是必然,程序不可能执行数据区,然而我们却可以当数据被读取或写入时进行下断,这种原理主要基于内存属性,当下读写断点是,OD会修改断点处读写属性,如果程序对此数据读写的话,会产生读写异常,OD捕捉此异常并分析,其可以知道运行到何处,对代码段也可以下此断点,机理相似。

 

(3)硬件断点,这是由硬件实现(这里是CPU实现),其由CPU调试器实现,断点长度有限,其只用两位记录断点长度,所以只支持4个硬件断点,调试寄存器中有3位表示断点状态及属性,000 保留 001 执行断点  010 访问断点 011 写入断点 100 保留 101 临时断点 110 保留 111 保留

 

这里只是粗略描述3中断点实现的基本机制,如果要深入理解的话,看《C++反汇编与逆向分析技术解密》,以及一些专业的调试书籍

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
华为OD (Open Day) 是华为公司面向全球开放的活动,旨在加强与合作伙伴、开发者和技术爱好者的沟通与交流,通过分享最新的技术、产品和解决方案,以促进产业创新与发展。参与华为OD的方式有以下几种: 1. 线上参与:华为OD会在全球范围内举办线上大会,任何人都可以通过网络参与。通过注册参会,可以在线观看主题演讲、专题研讨会和技术分享,并与行业专家、华为高级工程师进行互动交流。此外,华为还会提供在线实验室、技术文档和示例代码供参与者学习和实践。 2. 线下参与:除了线上活动,华为OD还会在部分地区举办线下活动,例如技术沙龙、开发者大会等。参与者可以面对面与华为的技术专家交流,深入了解华为最新的技术和产品,探索合作机会。 3. 提交技术方案:华为OD期间,华为会向合作伙伴和开发者征集技术方案。参与者可以提交自己的创新方案,与华为共同探讨应用场景、技术挑战等,并有机会获得华为合作支持、技术资源和市场推广等机会。 4. 加入开发者社区:华为提供了开发者社区平台,让开发者们可以随时随地交流和分享技术经验。在开发者社区中,可以获取华为产品的相关文档、工具和技术支持,与其他开发者共同研究和解决技术难题。参与开发者社区,可以与华为的技术团队建立联系,获取最新的技术动态和合作机会。 通过以上几种方式,参与华为OD的人们可以与华为深度互动,了解最新的技术趋势,分享经验和合作机会,促进创新和业务发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值