|
[原创]告别临时会员了
恭喜恭喜。 |
|
[分享]成为正式会员方法
学习了,原来还有这样的办法。 |
|
[求助]如何断下这个页面的内存访问断点
OD硬件断点、内存断点 断点和命令 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的实现 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值