[re入门]OD的各种断点

简介: [re入门]OD的各种断点

断点原理解析

1、INT3断点

2、硬件断点

3、 内存断点

4、消息断点

5、条件断点


1、INT3断点

也就是F2断点,CC段点

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

image.png

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

image.png

原理: 1、替换指令,用int3指令

2、od检测到int3指令之后会引发一个异常并捕获它,这是程序就会中断;

3、删除int3指令,还原之前的代码

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

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

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

FARPOC结构体

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

LoadLibrary函数

2、硬件断点

image.png

image.png

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

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

DR4-DR5:官方没有说

DR06:状态寄存器

DR7:控制寄存器

原理:

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

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

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

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

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

3、 内存断点

前提知识:内存属性3点Read、Write、Execute

image.png

原理:

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

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

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

优点:不改变汇编代码

4、消息断点

image.png

image.png

5、条件断点

带条件的int3

在要断的地方,shift+F12

在这里插入图片描述

相关文章
|
4月前
|
NoSQL
GDB调试学习(二):断点
GDB调试学习(二):断点
37 0
|
2月前
|
NoSQL 算法 Shell
【C/C++ 调试 GDB指南 】详解 gdb 断点的设置方式
【C/C++ 调试 GDB指南 】详解 gdb 断点的设置方式
19 2
|
12月前
|
存储 C语言 Windows
深析OD下断点与找回调的原理
深析OD下断点与找回调的原理
Visual Studio Code设置断点时出现Unverified breakpoint该咋办
Visual Studio Code设置断点时出现Unverified breakpoint该咋办
505 0
|
C++
C++程序调试详解(包括打断点 单步调试 数据断点...)
C++程序调试详解(包括打断点 单步调试 数据断点...)
262 0
C++程序调试详解(包括打断点 单步调试 数据断点...)
|
Java 程序员 Android开发
熟练使用IDEA的断点调试(Breakpoint),大大提升你调试代码的效率(行断点、属性断点、异常断点、条件断点、远程debug...)【享学Java】(上)
熟练使用IDEA的断点调试(Breakpoint),大大提升你调试代码的效率(行断点、属性断点、异常断点、条件断点、远程debug...)【享学Java】(上)
熟练使用IDEA的断点调试(Breakpoint),大大提升你调试代码的效率(行断点、属性断点、异常断点、条件断点、远程debug...)【享学Java】(上)
|
安全 IDE Java
熟练使用IDEA的断点调试(Breakpoint),大大提升你调试代码的效率(行断点、属性断点、异常断点、条件断点、远程debug...)【享学Java】(下)
熟练使用IDEA的断点调试(Breakpoint),大大提升你调试代码的效率(行断点、属性断点、异常断点、条件断点、远程debug...)【享学Java】(下)
熟练使用IDEA的断点调试(Breakpoint),大大提升你调试代码的效率(行断点、属性断点、异常断点、条件断点、远程debug...)【享学Java】(下)
|
Windows
【Windows 逆向】OD 调试器工具 ( OD 附加进程 | OD 调试器面板简介 | 反汇编窗口 | 寄存器窗口 | 数据窗口 | 堆栈窗口 )
【Windows 逆向】OD 调试器工具 ( OD 附加进程 | OD 调试器面板简介 | 反汇编窗口 | 寄存器窗口 | 数据窗口 | 堆栈窗口 )
304 0
【Windows 逆向】OD 调试器工具 ( OD 附加进程 | OD 调试器面板简介 | 反汇编窗口 | 寄存器窗口 | 数据窗口 | 堆栈窗口 )
|
UED Windows
【Windows 逆向】OD 调试器工具 ( OD 工具简介 | OD 工具与 CE 工具对比 )
【Windows 逆向】OD 调试器工具 ( OD 工具简介 | OD 工具与 CE 工具对比 )
853 0
【Windows 逆向】OD 调试器工具 ( OD 工具简介 | OD 工具与 CE 工具对比 )
|
Windows
【Windows 逆向】OD 调试器工具 ( OD 调试数据时硬件断点对应的关键代码 | 删除硬件端点恢复运行 )
【Windows 逆向】OD 调试器工具 ( OD 调试数据时硬件断点对应的关键代码 | 删除硬件端点恢复运行 )
271 0
【Windows 逆向】OD 调试器工具 ( OD 调试数据时硬件断点对应的关键代码 | 删除硬件端点恢复运行 )