解决windows2003 sp1“数据执行保护”惹的祸

以前一直使用windows2003,没打sp1补丁。自从出了VS 2005,下载了一个打算安装,说windows2003需要更新到sp1,于是更新了sp1再装VS 2005。打了SP1后,发现金山词霸的“屏幕取词”不能用了,本来以为是sp1对某些hook或者是内存读写做了安全方面的限制,没怎么理会,不能用屏 幕取词就算了。
最近有需要安装BCB6,装的是Update4大企业集成安装版(Keygen不能运行,需要在其他机上运行),安装后使用正常,就只出现一个问题:在选 择菜单Project->Options时出现Access violation at adress 0012f973,write of address 0012f973
不能打开Options的属性页。

奇怪的是,我同宿舍的同学的windows2003上安装BCB6一切正常!!!用的是同一张安装光盘,唯一不同的是他的用FAT32分区,我用 NTFS。本来以为问题出在这里,后来干脆用把D盘格式化成FAT32,再把BCB6安装在D盘,结果还是不行!!!!!!
后来在网上寻找解决金山词霸在windows2003 sp1下的屏幕取词不能显示的解决办法时,发现“数据执行保护” (DEP)这个东西!

AMD的64位处理器中采用了一种新型的EVP功能(增强型病毒防护)为我们从源头截断了病毒等恶意代码 执行的可能。但它只提供硬件支持,要发挥这一功能,还必须与Windows XP SP2或64位操作系统的DEP(数据执行保护)技术相结合。两者结合会把所有内存位置均标记为不可执行——除非该位置已明确包含可执行代码。此举能有效 阻止攻击程序企图在不可执行的内存位置中插入代码并执行,很大程度上扼制了病毒等恶意代码的入侵,是一种主动的防毒机制。

在实际使用过程中,DEP会导致32位软件出现兼容性问题。这是因为DEP阻止了某些程序的运行,我们可通过修改DEP的方式来解决。下面以设置 “Virtal PC”为例进行说明。

方法一:更改DEP默认选项

右击 “My Computer”,选择“Properties(属性)→Advanced(高级)→Settings→Data Execution Prevention(数据执行保护)”,可看到性能选项界面。

选择第二项“Turn on DEP for all programs and services except those I select(为除下列我选定程序之外的所有程序和服务启用DEP)”,再单击“Add…”,定位到“Virtual PC”的安装目录,再选中启动“Virtual PC”的可执行程序,然后单击当前界面上的“打开”即可将它添加到允许运行的列表中。



我的机器是AMD 速龙2800+,原来这个是硬件支持DEP,而我的同学是老版的P4,硬件不支持。把“数据执行保护”去掉后,一齐正常!解决了“屏幕取词”和BCB6的 Options不能打开(Access violation at adress 0012f973,write of address 0012f973)的问题!

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16396910/viewspace-1032715/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16396910/viewspace-1032715/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值