深入探讨Windows XP系统文件保护功能
0
当你安装一个应用程序却不料引起Windows崩溃的时候,很有可能是因为应用程序改写了关键的 Windows系统文件,导致系统崩溃。在文件被修改后,结果往往不可预知。系统可能正常运行,或者出一些错误,或者完全崩溃。幸运的是, Windows 2000, XP,和Server 2003应用了一个称作Windows文件保护(Windows File Protection, WFP)机制,它可以防止关键的系统文件被改写。在这篇文章中,我将解释何谓WFP和它是如何工作的。我还要告诉你如何修改或忽略WFP的行为。(注释:尽管在Windows 2000, XP,和Server 2003上,WFP的运行没什么区别,但这篇文章中的信息,包括注册表相关条目和SFC语法,是针对XP的。) B2C$N0R# |Z=^`J Windows文件保护是如何工作的 $shoasSuI :9^;Qv* WFP被设计用来保护Windows文件夹的内容。WFP保护特定的文件类型,比如SYS、EXE、DLL、OCX、FON和TTF,而不是阻止对整个文件夹的任何修改。注册表键值决定WFP保护的文件类型。 ,u`B<heoLU {
S3ZeN,kZ 当一个应用程序试图替换一个受保护的文件,WFP检查替换文件的数字签名,以确定此文件是否是来自微软和是否是正确的版本。如果这两个条件都符合,则允许替换。正常情况下,允许替换系统文件的文件种类包括Windows的服务包,补丁和操作系统升级程序。系统文件还可以由Windows更新程序或 Windows设备管理器/类安装程序替换。 $
`)/0{qY-
">y%iE 如果这两个条件没有同时满足,受保护文件将被新文件替换,但将很快被正确的文件替换回来。当这种情况发生时,Windows会从Windows安装CD或者计算机的DLLCache文件夹中复制正确版本的文件。 ^yyC
[Mz wtH?
[>S;) Windows 文件保护并不仅仅通过拒绝修改来保护文件,它还可以拒绝删除。来看看WFP的做法,打开\WINDOWS\SYSTEM32文件夹并将CALC.EXE文件重命名为CALC.OLD。当你这样做时,一个消息将提示你如果改变这个文件的扩展名可能会导致这个文件不可用。点击Yes按钮确认这个警告。现在,等几分钟后按F5键以刷新文件系统的视图,完成替换可能要花些时间。当文件最终被替换后,Windows会在事件日志中做相应的记录。 (2:/8\_P UN]f"k& |