首页
社区
课程
招聘
[旧帖] [求助]内存写入断点是怎么实现的? 0.00雪花
发表于: 2007-8-17 00:50 5424

[旧帖] [求助]内存写入断点是怎么实现的? 0.00雪花

2007-8-17 00:50
5424
现在调试一个东东,一下内存写入断点,当程序要向这个更改这个地址的内容的时候,程序就悄无声息的没有了。

我想知道它是怎么检测到内存写入断点的。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hnr
2
俺也不太清,可能有些程序检测到它是其它程序的子进程,就自动关闭,反调试,试下隐藏OD看行不行.
2007-8-17 03:20
0
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
已经隐藏了OD了,在不下内存断点的时候没有任何问题

一旦下了内存断点,当可能断下的时候,程序就消失了。
2007-8-17 03:55
0
雪    币: 172
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
可能这个程序在内部也拦截到了内存被修改了,然后直接退出了。

内存断点主要就是修改 内存页的属性。 PAGE_GUARD

From MSDN:
Pages in the region become guard pages. Any attempt to access a guard page causes the system to raise a STATUS_GUARD_PAGE exception and turn off the guard page status. Guard pages thus act as a one-shot access alarm.
The PAGE_GUARD flag is a page protection modifier. An application uses it with one of the other page protection flags, with one exception: it cannot be used with PAGE_NOACCESS. When an access attempt leads the system to turn off guard page status, the underlying page protection takes over.

If a guard page exception occurs during a system service, the service typically returns a failure status indicator.
2007-8-17 09:15
0
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
他拦截内存是否被修改会用到什么方法?
2007-8-17 11:28
0
游客
登录 | 注册 方可回帖
返回
//