【加解密学习笔记:第三天】OllyDbg断点介绍

本文详细介绍了OllyDbg中的INT 3断点、硬件断点、内存断点和消息断点的原理与设置方法。INT 3断点通过修改机器码实现,硬件断点利用DRx调试寄存器,内存断点基于内存访问属性,而消息断点则针对Windows消息系统。不同类型的断点在加解密分析中有着不同的应用场景和优势。
摘要由CSDN通过智能技术生成

INT 3 断点
常用断点,使用“F2”快捷键设置的就是 INT 3 断点。这类断点采用修改机器码的方式,将设断处的代码更改为 “CC”,当程序运行至设断处时,会抛出一个异常,OllyDbg会捕捉到这个异常,使得程序暂停,然后恢复程序机器码。INT 3 断点可以设置无限多个,但是由于 INT 3 断点更改了机器码,所以很容易被目标软件检测到。

硬件断点
硬件断点与 DRx 调试寄存器有关,在Intel CPU 体系架构手册中可以找到对 DRx 调试寄存器的介绍。
DRx 调试寄存器有八个(DR0 ~ DR7),每个寄存器的特性如下:

  • DR0 ~ DR3 :调试地址寄存器,用于保存需要监视的地址,例如设置硬件断点。
  • DR4 ~ DR5 :保留,未公开具体作用
  • DR6 :调试寄存器组状态寄存器
  • DR7 :调试寄存器组控制寄存器

简单来说,硬件断点是在 DR0 ~ DR3 中设置断点地址,DR7设置状态。因此最多设置4个硬件断点,当程序运行至所设定断点时,CPU会向 OllyDbg 发送异常信息,OllyDbg处理后,中断程序,让我们继续操作。所以硬件断点不会更改程序的机器码,具有比 INT 3 断点更高的隐蔽性。

设断方法:单击右键,选择 “Breakpoint” - “Hardware, on execution”
删除断点方法:菜单项 “Debug” - “Hardware breakpoints” 打开硬件断点面板,选择 “Delet

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值