12   1  /  2  页   跳转

[问题/讨论] 关于内存不可读

关于内存不可读

问题背景地址:http://bbs.ikaka.com/showtopic.aspx?topicid=8640309&page=2

关于内存不可读,我前些天因为要写程序,参考过一本书。而书中恰巧谈到了Win9X与WinNT(2000以上的系统都属於WinNT内核)的区别,也就是关于内存读写方面的区别。原文如下:

书名:Visual Basic  WIN32 API编程
出版社:中国电力出版社
作者:STEVEN ROMAN
译者:陈志远
CIP:ISBN7-5083-0534-5
出版日期:01年4月第一版


 附件: 您所在的用户组无法下载或查看附件

      结论:由上可见,在WinNt以上的系统中出现内存不可读的问题,完全是因为NT的自我保护机制造成。这种机制不可能因为某一个软件而被破坏,所以用什么工具去修复内存试图解决内存不可读的问题是不可行的

    个人认为,没有把握的就不要回,回复让用户下载软件去修复内存,不是误导用户,是什么呢?

    至于如何解决这个问题,从上文中,我们也可以发现,提到了特殊权限。提高这个程序的权限也许是一种方法?

用户系统信息:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; InfoPath.2)
最后编辑初殇 最后编辑于 2009-07-07 17:36:45
分享到:
gototop
 

回复:关于内存不可读

意思是说有什么  提示 内存(OOXXOXOXOOX)不可读曲  是内存条存在物理损坏?
gototop
 

回复 2F s_nara 的帖子

不是。。。 。你要看上面的文章啊@汗
提示这样的错误是说NT启动了内存保护机制。跟物理没有关系。
gototop
 

回复:关于内存不可读

不一定
__asm
{
xor eax,eax
mov eax,[eax]
}
这样也会内存不可读
毕竟回忆是远了暗了的暮霭,希望才是近了亮了的晨光!
gototop
 

回复 4F zapline 的帖子

总不会有正常的程序连着两次清零吧
gototop
 

回复:关于内存不可读

程序代码写的不安全很容易出现这种情况
前一个函数获取指向某种结构的指针
失败返回0
而没有检测就作为下一个函数的参数
就可能出现这种情况
毕竟回忆是远了暗了的暮霭,希望才是近了亮了的晨光!
gototop
 

回复:关于内存不可读

分情况:
nt系统从0x00000000开始的16KB,是受保护的。如果访问了就会出现内存不可读。这是操作系统出于对操作空指针是保护的目的
还有就是访问了内存页中不可读属性的内存。
gototop
 

回复:关于内存不可读

有些软件出现问题了也会出现 XXX 内存不能为READ  内存不能为 written的。原来华夏黑客联盟里面那站长说过这个问题了 还说的很详细。是有方法可以解决的。只补过稍显麻烦。
gototop
 

回复:关于内存不可读

我会先先重装遍系统
如果重装后还出现内存不能READ
就从硬件下手
最后编辑gtyre2 最后编辑于 2009-07-07 21:45:02
gototop
 

回复: 关于内存不可读



引用:
原帖由 zapline 于 2009-7-7 18:41:00 发表
不一定
__asm
{
xor eax,eax
mov eax,[eax]
}
这样也会内存不可读


膜拜
gototop
 
12   1  /  2  页   跳转
页面顶部
Powered by Discuz!NT