网站制作学习网经验与学习→正文:弹出数据执行保护
字体:

弹出数据执行保护

经验与学习 2008/1/14 15:36:57  点击:不统计

我最近在进入Windows不久后,就会弹出一个名为“数据执行保护”的对话框,提示“Run a Dll as an App”文件要关闭,点击关闭后,系统又有一发送错误的对话框弹出,说rundll32.exe执行一半被关闭,问要不要发送错误报告,但是我又找不到这个rundll32.exe文件,这是怎么回事?

  答:这是Windows XP SP2新增的一项安全保护功能DEP。当出现缓冲区溢出的时候,DEP将被自动激活并对系统起保护作用。Rundll32.exe在%systemroot%\system32下,这个文件起到调用其他DLL文件并完成DLL里面指定的函数的作用。你的问题可能是被调用的DLL文件在设计上有问题,触发了DEP功能导致执行被终止。要解决这个问题,一是可以进入“系统属性→高级”,点击性能下的设置按钮,然后选择数据执行保护,选择“为除下列程序之外的所有程序和服务启动DEP”,然后点击添加按钮,将%systemroot%\system32\rundll32.exe添加进列表,点击确定重启即可。第二个方法是彻底关闭DEP,具体操作可以参考http://support.microsoft.com/kb/875352/en-us。



DEP配置内存保护机制



  Microsoft在SP2中加入了新的内存保护功能——数据执行保护 (DEP)。有些软件可能会与这个功能发生冲突,这时你可以到“控制面板” “系统”中去关掉它,选择“高级”选项卡,在“性能”一节中单击“设置”按钮,进入“数据执行保护”选项卡,然后选择“为除下列选定程序之外的所有程序和服务启用DEP”并把冲突的程序加入其中即可。



这个功能首先要最新的一些CPU才支持,所以以前都没碰到过。这回在A64上面装系统,升到SP2后就碰到了。



其他的不说,首先碰到几个MS自己的程序和这个DEP冲突的:explorer;taskmgr;notepad;run dll as app.还有一个忘了。



真是搞笑。google了一下,找到了点资料。照着做,费了很大的劲,因为操作过程中不停报错,搞得一个操作很难搞完。添加到“为除下列选定程序之外的所有程序和服务启用DEP”。



但实际上不管用。最后只好在boot.ini中去关掉这一项:/NoExecute=AlwaysOff。



看搜到的资料,别的人似乎还可以用,我这里是不行了。



官方的指南



http://www.microsoft.com/china/technet/security/prodtech/windowsxp/depcnfxp.mspx



·上一篇:设计网站域名 >>    ·下一篇:[转帖] 一个网站健康发展的要素 >>
推荐文章
最新文章