[re入门]OD的各种断点

1、INT3断点

也就是F2断点,CC段点

这里我们用OD打开一个文件,下断点

在这里插入图片描述

然后我们用CE打开,然后手动添加地址,输入00C31330,将数值转换为16进制显示,类型为字节,如下图
在这里插入图片描述

原理: 1、替换指令,用int3指令
2、od检测到int3指令之后会引发一个异常并捕获它,这是程序就会中断;
3、删除int3指令,还原之前的代码

优点:可以下无数个int3断点

缺点:很容易被检测到(如果将断点下在函数的内部或者末尾,例如可以将断点下在函数入口的下一行,就可以躲过检测了)

反调试:保护程序 反反调试:破解程序

FARPOC结构体

GetProAddress函数 检索指定的DLL中输出库函数地址

LoadLibrary函数

2、硬件断点

在这里插入图片描述

在这里插入图片描述

和调试寄存器有关,DR0-DR7

DR0-DR3:用来保存我们需要断点的地址

DR4-DR5:官方没有说

DR06:状态寄存器

DR7:控制寄存器

原理:

1、用0-3,记住我们需要断点的地址

2、用7,用来设置相应的控制位

3、程序运行到那个地址,CPU就会向OD发送异常信息,程序就中断了,等待用户操作

优点:速度快,不容易被检测(没有修改原来的代码,用的是寄存器)

缺点:最多只能下4个硬件断点(只有0-3是保存地址的)

3、 内存断点

前提知识:内存属性3点Read、Write、Execute
在这里插入图片描述

原理:1、对这个地址赋予了不可读、不可写、不可执行的属性

2、程序运行到这里会产生一个异常

3、OD捕获异常,程序中断

优点:不改变汇编代码

4、消息断点

在这里插入图片描述

在这里插入图片描述

5、条件断点

带条件的int3

在要断的地方,shift+F12

在这里插入图片描述

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹏华李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值