首页
社区
课程
招聘
[求助]有谁见过OD的硬件断点无效的,是什么情况?
发表于: 2007-5-3 11:03 8153

[求助]有谁见过OD的硬件断点无效的,是什么情况?

2007-5-3 11:03
8153
我用OD调试一个程序的时候,在一个全局变量下硬件断点(硬件访问和写入),可不知道为什么数据还是被写入了,却没有被断下.
这是什么原因,有人见过吗?可以说说吗?

该全局变量所在内存属性:
内存映射,项目 111
地址=11001000
大小=002B0000 (2818048.)
物主=main   11000000
区段=
包含=code
类型=Imag 01001004
访问=RW
初始访问=RWE

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
2
硬件断点是用386CPU中的TR寄存器实现的

由于是硬件实现的,所以对于断点的要求很严格,
由于INTEL的386指令集中分为字节操作、字操作以前双字操作
所以对于硬件断点这个条件必须合适
比如,对于字操作的指令,它的操作数地址必须是字对齐的,或者说字节地址的LSB是0
同样,如果是双字操作,操作数地址应该是双字对齐的

不过你说的情况我还真没遇到过
上面说的只是猜测,不一定对

而如果用OD软件设置的内存断点,只需要选定内存中的范围,则任何对这个区域的内存操作都会触发断点
当然软件的内存断点,我猜OD使用的是TRACE方法实现的,因此程序的执行不会是全速的了
2007-5-3 20:44
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
楼上的说的我是明白的,后来原因也清楚了.是被虚拟机保护了.
我经验尚浅,不知道为什么被虚拟机加密之后会硬件断不下来.不过原因也不是那么重要的了.
谢谢楼上的.
2007-5-5 14:32
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
4
也许是虚拟机对CPU的模拟不是太完善吧
毕竟硬件的工作与软件的工作过程有区别
2007-5-5 20:59
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我是新注册用户,不能发帖,只能这样提问
我是个绝对菜鸟,看了蛮多给新手的帖子
目前最入门的问题还是OD使用
每次退出都有警告,说进程激活之类的,还有就是怎么让程序回到初始状态
我分析前就复制了文件,结果我打开备份的文件原先设的断点都还在
帮我解决下这些小细节问题吧各位大虾
2007-5-5 21:09
0
游客
登录 | 注册 方可回帖
返回