OD断点和命令
2012-07-08 00:01
232 查看
BP
表达式 [,条件]
在指定地址设置 INT3
断点 BP EAX+10BP 410010, EAX==WM_CLOSEBP Kernel32.GetProcAddress
BPX 标签
在当前模块每一个对外部标签的调用设置断点 BPX CreateFileA
BC 表达式
删除指定地址的断点 BC 410010
MR 表达式1 [,表达式2]
设置指定范围的内存访问断点
MW 表达式1 [,表达式2]
设置指定范围的内存写断点Set
MD 移除内存断点
HR 表达式
设置1字节的硬断点,当访问该地址时中断
HW 表达式
设置1字节的硬断点,当写该地址时中断
HE 表达式
设置硬断点,当执行该地址时中断
HD [表达式]
移除指定地址处的硬断点
附内存中断小结:
OD中内存断点小结
内存,
小结,
断点
0040EE67 90 nop //假设此处为EIP
0040EE68 90 nop
0040EE69 90 nop
0040EE6A A0 C4FF1200 mov al, byte ptr [12FFC4]
0040EE6F 90 nop
0040EE70 > 90 nop
0040EE71 90 nop
0040EE72 90 nop
0040EE73 90 nop
0040EE74 90 nop
0040EE75 C605 C5FF1200 11 mov byte ptr [12FFC5], 11
0040EE7C 90 nop
0040EE7D 90 nop
0040EE7E 90
12FFC4 11 11
1.内存访问断点
设置12FFC4一个字节为内存访问断点
F9运行程序 OD会停在0040EE6A
原理:OD会设置12FFC4地址访问权限为不可读
大小为一字节 任何试图读取该地址的操作
都会引发异常 OD会捕获这个异常
并等待用户处理
现象就是
运行到 mov al, byte ptr [12FFC4]
当指令试图读取该地址内容
并给AL赋值的时候
OD断了下来
2.硬件访问断点
设置12FFC4一个字节为硬件访问断点
F9运行程序 OD会停在0040EE6F
原理:OD会设置调试寄存器
DR0-DR3 其中一个为12FFC4
并设置DR7相关标记
这个实现依靠CPU特性
当设置了改地址为硬件访问断点后
任何试图访问该地址的操作
都会引发异常 OD会捕获这个异常
并等待用户处理
现象就是
运行到 mov al, byte ptr [12FFC4]
当指令试图读取该地址内容
并给AL赋值的时候
OD断了下来
3.内存写入断点
设置12FFC5一个字节为内存写入断点
F9运行程序 OD会停在0040EE75
原理:OD会设置12FFC5地址访问权限为不可写
大小为一字节 任何试图写入该地址的操作
都会引发异常 OD会捕获这个异常
并等待用户处理 现象就是
运行到 mov byte ptr [12FFC5], 11
当指令试图写入该地址内容 OD断了下来
4.硬件写入断点
设置12FFC5一个字节为硬件写入断点
F9运行程序 OD会停在0040EE7C
原理:OD会设置调试寄存器
DR0-DR3 其中一个为12FFC5
并设置DR7相关标记
这个实现依靠CPU特性
当设置了改地址为硬件访问写入后
任何试图写入该地址的操作
都会引发异常 OD会捕获这个异常
并等待用户处理
现象就是
运行到 mov byte ptr [12FFC5], 11
当指令试图写入该地址的时候 OD断了下来
至于内存断点断在当前指令
硬件断点断在当前指令的下一条
取决于OD的实现
表达式 [,条件]
在指定地址设置 INT3
断点 BP EAX+10BP 410010, EAX==WM_CLOSEBP Kernel32.GetProcAddress
BPX 标签
在当前模块每一个对外部标签的调用设置断点 BPX CreateFileA
BC 表达式
删除指定地址的断点 BC 410010
MR 表达式1 [,表达式2]
设置指定范围的内存访问断点
MW 表达式1 [,表达式2]
设置指定范围的内存写断点Set
MD 移除内存断点
HR 表达式
设置1字节的硬断点,当访问该地址时中断
HW 表达式
设置1字节的硬断点,当写该地址时中断
HE 表达式
设置硬断点,当执行该地址时中断
HD [表达式]
移除指定地址处的硬断点
附内存中断小结:
OD中内存断点小结
内存,
小结,
断点
0040EE67 90 nop //假设此处为EIP
0040EE68 90 nop
0040EE69 90 nop
0040EE6A A0 C4FF1200 mov al, byte ptr [12FFC4]
0040EE6F 90 nop
0040EE70 > 90 nop
0040EE71 90 nop
0040EE72 90 nop
0040EE73 90 nop
0040EE74 90 nop
0040EE75 C605 C5FF1200 11 mov byte ptr [12FFC5], 11
0040EE7C 90 nop
0040EE7D 90 nop
0040EE7E 90
12FFC4 11 11
1.内存访问断点
设置12FFC4一个字节为内存访问断点
F9运行程序 OD会停在0040EE6A
原理:OD会设置12FFC4地址访问权限为不可读
大小为一字节 任何试图读取该地址的操作
都会引发异常 OD会捕获这个异常
并等待用户处理
现象就是
运行到 mov al, byte ptr [12FFC4]
当指令试图读取该地址内容
并给AL赋值的时候
OD断了下来
2.硬件访问断点
设置12FFC4一个字节为硬件访问断点
F9运行程序 OD会停在0040EE6F
原理:OD会设置调试寄存器
DR0-DR3 其中一个为12FFC4
并设置DR7相关标记
这个实现依靠CPU特性
当设置了改地址为硬件访问断点后
任何试图访问该地址的操作
都会引发异常 OD会捕获这个异常
并等待用户处理
现象就是
运行到 mov al, byte ptr [12FFC4]
当指令试图读取该地址内容
并给AL赋值的时候
OD断了下来
3.内存写入断点
设置12FFC5一个字节为内存写入断点
F9运行程序 OD会停在0040EE75
原理:OD会设置12FFC5地址访问权限为不可写
大小为一字节 任何试图写入该地址的操作
都会引发异常 OD会捕获这个异常
并等待用户处理 现象就是
运行到 mov byte ptr [12FFC5], 11
当指令试图写入该地址内容 OD断了下来
4.硬件写入断点
设置12FFC5一个字节为硬件写入断点
F9运行程序 OD会停在0040EE7C
原理:OD会设置调试寄存器
DR0-DR3 其中一个为12FFC5
并设置DR7相关标记
这个实现依靠CPU特性
当设置了改地址为硬件访问写入后
任何试图写入该地址的操作
都会引发异常 OD会捕获这个异常
并等待用户处理
现象就是
运行到 mov byte ptr [12FFC5], 11
当指令试图写入该地址的时候 OD断了下来
至于内存断点断在当前指令
硬件断点断在当前指令的下一条
取决于OD的实现
相关文章推荐
- 汇编命令及OD常用命令及断点设置
- OD硬件断点,OD内存断点,API断点命令
- 汇编命令及OD常用命令及断点设置
- OD中的断点和命令
- OD常用命令和断点
- 简单C语言模式实现OD调试断点设置
- OD教程(基础--断点)
- 认识OD的两种断点
- ODbgScript 入门系列(三)ODbgScript的脚本命令(2)
- OD-条件断点、条件记录断点
- OD“步入下条命令时,保持后面还有几行可见”bug修复
- linux 浏览查看文件more,less,head,tail,cat,tac,od,nl命令使用简介
- 破文 - OD常用断点
- OD常用断点大全
- 【每天一个Linux命令】25. 查看文件命令(cat/more/less/tail/tac/nl/od)
- OD命令查看二进制文件内容
- od命令用法
- od 命令
- od命令
- linux之 查看文件命令cat,more,less,tail,tac,nl,od