当前位置:七道奇文章资讯安全技术网络技术
日期:2010-11-18 13:10:00  来源:本站整理

¤深化探究Windows XP系统文件保护功效.[网络技术]

赞助商链接



  本文“¤深化探究Windows XP系统文件保护功效.[网络技术]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

当你安装一个利用程序却不料惹起Windows崩溃的时刻,很有大概是因为利用程序改写了关键的Windows系统文件,招致系统崩溃.在文件被改正后,后果常常不可预知.系统大概正常运行,大概出一些错误,大概完好崩溃.幸运的是,Windows 2000, XP,和Server 2003利用了一个称作Windows文件保护(Windows File Protection, WFP)机制,它可以避免关键的系统文件被改写.在这篇文章中,我将注释何谓WFP和它是若何工作的.我还要奉告你若何改正或忽视WFP的行为.(注释:固然在Windows 2000, XP,和Server 2003上,WFP的运行没什么辨别,但这篇文章中的信息,包含注册表相关条目和SFC语法,是针对XP的.)

  Windows文件保护是若何工作的

  WFP被计划用来保护Windows文件夹的内容.WFP保护特定的文件范例,比方SYS、EXE、DLL、OCX、FON和TTF,而不是禁止对整个文件夹的任何改正.注册表键值决意WFP保护的文件范例.

  当一个利用程序试图替换一个受保护的文件,WFP查抄替换文件的数字签名,以肯定此文件能否是来自微软和能否是精确的版本.假如这两个条件都符合,则答应替换.正常情形下,答应替换系统文件的文件种类包含Windows的服务包,补钉和操作系统进级程序.系统文件还可以由Windows更新程序Windows设备管理器/类安装程序替换.

  假如这两个条件没有同时满意,受保护文件将被新文件替换,但将很快被精确的文件替换回来.当这种情形发生时,Windows会从Windows安装CD大概计算机的DLLCache文件夹中复制精确版本的文件.

  Windows文件保护并不但仅通过回绝改正来保护文件,它还可以回绝删除.来看看WFP的做法,翻开\WINDOWS\SYSTEM32文件夹并将CALC.EXE文件重命名为CALC.OLD.当你这样做时,一个消息将提醒你假如改变这个文件的扩大名大概会招致这个文件不可用.点击Yes按钮确认这个告诫.目前,等几分钟后按F5键以革新文件系统的视图,完成替换大概要花些时间.当文件终究被替换后,Windows会在事件日记中做呼应的记录.

  关于WFP值得关注的一点是它和Windows安装程序结合的很精密.无论什么时刻,假如Windows安装程序需求安装一个受保护的文件,它就把这个文件交给WFP,而不是自己试图去安装这个文件.然后由WFP判断能否答应安装.

  系统文件查抄

  固然自动文件替换会节俭时间,但也存在需求手动干涉的情形.比方,你大概不肯意空等着WFP去判断受保护的文件能否已经被替换.幸运的是,你可以用一个名为系统文件查抄(SFC)的工具手动掌握WFP.

  SFC是一个号令行工具,需求在号令提醒符窗口下运行.它的语法像这样:

  SFC [/SCANNOW] [/SCANONCE] [/SCANBOOT] [/REVERT] [/PURGECACHE] [/CACHESIZE=x]

  /SCANNOW选项告诉SFC当即扫描全部受保护的系统文件.假如在扫描历程中发现一个错误的文件版本,这个错误的版本将被替换为微软精确的版本.当然,这意味着你大概必须有Windows安装CD,最新的服务包大概进级补钉.

  /SCANONCE参数告诉WFP在系统下次启动的时刻扫描受保护的系统文件.在扫描历程中,任何错误的文件将被精确的版本替换.正如这个参数名的意思,这个扫描只举行一次.之后的系统启动将恢复正常,SFC不再运行.

  /SCANBOOT参数和/SCANONCE选项近似.辨别在于SCANONCE只在Windows下次启动时扫描受保护的文件,而SCANBOOT参数则在Windows每次启动时都扫描系统文件.假如需求,这两个参数将替换错误的系统文件,这大概需求你供应精确文件版本的拷贝.

  /REVERT选项用来关闭SFC,比方,假定你利用SCANBOOT选项在每次系统启动的时刻扫描所以保护的文件.正如你所能想到的,这确切会增添计算机启动的总时间.最后,你大概厌倦了冗长的启动时间,想关闭SFC.只需求简单的利用SFC /REVERT,便可以在启动的时刻关闭SFC.

  对/PURGECACHE选项就需求谨严些.在这之前,我注释说Windows利用一个缓存文件夹来保存各类系统文件精确版本的备份.假如你运行SFC /PURGECACHE号令,那么这个文件缓存将被清空,那些备份文件将被删除.这个号令还会招致Windows开始扫描各类受保护文件,并在扫描的同时重建这个文件缓存.当然,这大概意味着你必须向Windows供应Windows安装CD或系统文件进级的拷贝.

  最后一个SFC号令选项是/CACHESIZE=x.关于文件缓存的缺省大小确切存在很多自相冲突的信息,在写这篇文章的时刻,我发现三篇差别的微软知识库文章中指定的文件缓存的缺省大小都不一样.一篇文章中倡议文件缓存的大小为50 MB,而另一篇倡议的大小倒是300 MB.更有甚者,第三篇指出这个大小应当是无限的.其实缺省值的大小并不重要,因为你可以按照你的需求,利用CACHESIZE选项来改变这个文件缓存的大小.

  在利用CACHESIZE选项时,你必须键入号令SFC /CACHESIZE=x,这个x是指你想分配给文件缓存的兆字节数.在指定了新的文件缓存大小后,你必须重启系统并运行SFC /PURGECACHE号令.

  通过注册表掌握WFP和SFC

  在这之前,我注释说注册表掌握WFP的普通行为.你可以改正几个差别的注册表键值以掌握WFP的行为.你可以在每次运行SFC直接操作这些键的一部份,其他一些有更初级别的功效.比方指定文件缓存大概安装文件的位置.

  改正注册表大概是危险的.假如你做了一个错误的改正,大概会招致Windows的崩溃大概破坏你的利用程序,所以我激烈倡议在尝试这一节中描写的任何技术之前,先对注册表做一个完好的备份.

  为了拜候SFC的注册表键,在Run号令中键入REFEDIT号令.这将翻开注册表编辑器,目前浏览注册表树找到下面这个键:

  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon

  普通地,注册表中WinLogon键普通用来掌握各种差别的启动选项.固然很多SFC的选项都可掌握SFC能否在启动的的时刻运行,但微软已经将SFC相关的注册表键放在这个部份.

  SFCDisabled

  这个注册表键掌握SFC是激活的还是无效的.实际上你只需通过改变DWORD的值,便可以得到四个差别的选项.缺省的DWORD值是0.这个设置激活SFC.普通你不需求改变这个值.但是,你可以在0到4之间改正这个值使得激活SFC但不让它弹出.

  假如将内核调试器挂起,你最好关闭SFC.假如正在利用一个内核调试器,你可以将注册表键的DWORD值改正成1,这会关闭SFC并且会在今后的每次启动时都提醒你能否再次激活SFC.

  你也可以通过将DWORD值设为2来关闭SFC.这个选项只是在下次启动时关闭SFC.没有再激活SFC的选项,因为SFC将在这之后启动时自动激活.

  SFCScan

  在这之前,我注释了SFC的SCANONCE, SCANBOOT,和REVERT选项.只要你利用这些选项,实际上SFC是在改正SFCScan注册表键.你可以通过改变它的DWORD赋值来改正这个键.

  默许的值是0.这个值的意思是不需求在启动时扫描受保护文件.这个设置相当于运行SFC /REVERT号令.

  改变DWORD值为1,意思是在每次启动时都扫描受保护文件.设置SFCScan的值为1相当于运行SFC /SCANBOOT号令.

  最后,设DWORD值为2就是奉告SFC在下次启动时扫描受保护文件,但并非今后的全部启动.这相当于运行SFC /SCANONCE号令.

  SFCQuota

  SFCQuota注册表键用来掌握SFC文件缓存的大小.大概你会记得,之前在我谈到SFC /CACHESIZE=x 号令时,我提到关于文件缓存的默许大小,存在很多不一致的信息.但是在我的系统上,注册表键SFCQuota的DWORD值默许为0xffffffff.按照微软知识库,这个值对应文件缓存的大小为300 MB.同一篇知识库的文章指出通过改正这个值为FFFFFFFF,你可以缓冲存储全部受保护的系统文件.

  SFCDllCacheDir

  在这之前,我注释说Windows将DLLCACHE文件夹作为存储系统文件备份的地方.普通的,这个文件夹位于\WINDOWS\SYSTEM32目录下.不过通过改正SFCDllCacheDir注册表键,你可以改正文件缓存的位置.

  文件缓存文件夹普通位于DLLCACHE目录下,但通过改正这个注册表键,你可以改正这个文件夹的位置.唯一需求注意的一点是你必须指定一个已经存在于本地硬盘驱动器上的地址.在Windows 2000里,你可以指定一个网络同享作为DLLCACHE的途径,但在Windows XP中没有这个选项.

  SFCShowProgress

  另一个与SFC相关的注册表键是SFCShowProgress键.这个注册表键答应你设置它的DWORD值为0,或1.缺省值是0,它将禁止显示SFC的进程情形.设值为1便可以让SFC显示进展情形.

  源文件地址

  在这之前,我注释了WFP和SFC是若何工作的,我指出在某些条件下你大概必须供应Windows安装CD大概有效源文件的拷贝.但是通过改正注册表,向Windows指明一个源文件目录是完好大概的,而无需Windows再向你询问这些文件.

  这个注册表键在注册表的另一部份.你必须找到下面这个键:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup

  一旦你找到了这个位置,通过利用一个驱动器标记大概途径大概一个UNC,你可以指定Windows系统文件的位置.

  利用这个号令的前提是你必须将文件放在名为I386的目录中.比方,假如你的Windows系统文件位于一个名为C:\I386的目录中,那么你只需在注册表中指定途径为C:\,因为Windows假定I386这个目录是存在的.一样的,假如你打算利用一个UNC同享,I386文件夹必须存在于同享目录下.比方,假如你打算同享的目录名为FILES,你需求将I386文件夹放在FILES目录下.然后你可以奉告Windows在\\server_name\FILES目录下探求同享文件.Windows将在\\server_name\FILES\I386目录中探求系统文件.


  以上是“¤深化探究Windows XP系统文件保护功效.[网络技术]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 有孔就入 SQL Injection的深化探究
  • ¤深化探究Windows XP系统文件保护功效.
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .