QQ导致Windows Vista死机的初步分析( 二 )


从上面的分析我们不难也可以找到第2个问题(无法在QQ目录下找到以自己号码命名的用户信息的文件夹)的答案 。因为此时我们使用普通用户账户运行,只允许其向指定位置(QQ用户信息文件夹的指定位置被设在 X:Users[用户名]AppDataLocalVirtualStoreProgram FilesTencentQQ X指Windows Vista系统盘)写入数据 。当然,不能正常地向常规文件夹(X:Program FilesTencentQQ X指QQ所在盘符)写入数据的问题,也可以从中得以解释!
虚拟重定向的“威力”
虚拟重定向主要用于UAC兼容场景,当一个老的软件在标准用户环境运行时,如果需要访问一个系统目录并且被拒绝,UAC就会自动将其重定向到其他位置,而该应用程序以为自己能够有权限访问该目录 。这样,上面笔者奇特的遭遇就不难解释了:标准用户下的QQ无法写入其安装目录,所以其他的QQ号码目录会被重定向,以便QQ能够正常运行在UAC环境 。虚拟重定向的威力在此体现得淋漓尽致,因此Windows Vista的安全性得以进一步地提高 。
巧妙的解决方法
【QQ导致Windows Vista死机的初步分析】这里介绍两种常规的解决办法:
第一种很简单,以普通用户帐号登陆,这时QQ得不到足够的权限不能运行键盘加密程序从而不会导致系统崩溃
第二种方法更加彻底,那就是直接删除X:Program FilesTencentQQ(X指QQ所在盘符)下的npkcrypt.sys和npkcusb.sys这两个文件 。
至今的疑问
为什么Windows Vista系统不能兼容QQ的键盘加密程序?
================
原文摘自ITECN Blog,作者:gonghao
原文地址: http://blogs.itecn.net/blogs/winvista/archive/2006/09/03/3604.aspx

推荐阅读