中华网通行证
用户名 密码
  科技动态 硬件广场 下载基地 网络教室 网络冲浪 科学博览 移动时代 手机上网 桌面壁纸 科技商情  

深入Windows ME之系统文件保护
laissez-aller  2001-04-11 11:11:40

  
   追求稳定是任何操作系统的目标,Windows Me自然也不例外。可惜Windows本身却是一个系统文件的配置与安排显得有些混乱的操作系统:系统文件与一般应用软件的文件没有适当的区分(不像Unix那样,把用户区和系统区分得很清楚),而且大部分的应用软件必须搭配某些系统文件才能正常执行,因此某些应用软件的安装程序就不得不将搭配的系统文件一起安装到用户的电脑中,而系统不稳定的问题就产生了……

   举个例子来说。假如你目前的Windows使用了一个版本号为5.1的系统文件System.dll,它放在Windows系统目录下的System目录中。你现在安装一个名为Winkiller的应用软件(呵呵,举例而已),但这个软件却要使用版本为3.0的System.dll系统文件,Winkiller的安装程序会把旧版本的System.dll拷贝到Windows系统目录下的System目录中,更有甚者安装程序根本就不理会新旧版本的系统文件而直接覆盖(很多游戏和不负责的应用软件都会这样做)。

   系统文件被覆盖会有什么后果呢?很难说,如果够幸运,也许什么问题也不会出现;但大多数情况是在一些特定的时候让你的系统不稳定或干脆死机。这种情况用微软工程师的术语来说就是DLL Hell——Windows系统是以Dynamic Link Library(动态链接库)的方式让系统和应用软件共用所有的系统文件的,DLL Hell的意思就是因为系统文件被覆盖而让整个系统像是掉进了地狱一样,万劫不复。

   OK,在你诅咒完微软之后,我们还是来看看微软在其新版的Windows Me中对这一情况的改进(或是补救)措施——System File Protection。

   严格说来,System File Protection(系统文件保护,简称SFP)应该是System File Checker的加强版本。微软曾经在Windows 98 SE版中加入了自动检查系统文件状况的功能——System File Checker,但实际上,System File Checker并没有太大作用——如果真的有效,大概现在也就不会出现SFP了^_^。

   SFP自Windows Me启动之后就实时检测系统文件,只要SFP发现系统文件将被覆盖或删除,它会“假装”准许用户或应用程序覆盖或删除系统文件,但实际上SFP会立即备份将被覆盖或删除的系统文件。只要用户或应用程序完成覆盖或删除的过程,SFP就会马上还原先前所备份下来的系统文件。

   要达到上述的保护效果,SFP保存了两份清单。一份记录了所有被SFP保护的系统文件的名称,这份清单存放在C:WINDOWSSYSTEMsfpsfpdb.sfp中(假设Windows Me的安装目录为C:WINDOWS)。sfpdb.sfp是一个可读的文本文件,你可以使用“记事本”等工具打开;在sfpdb.sfp中,一整行记录就是一笔被保护的系统文件资料。


   但是,只有sfpdb.sfp还是不够的——如果只有文本文件格式的sfpdb.sfp,任何人都可以自行篡改sfpdb.sfp的内容,如此的保护就等于没有保护了。因此微软又以“安全目录”的文件(后缀名为.cat)来存放这些被保护的数字签名,目前这些被保护的系统文件的数字签名都存放在C:WINDOWSSYSTEMCatRoot{F750E6C3-38EE-11D1-85E5-00C04FC295EE}SYSTEM.CAT中。你可以用鼠标双击SYSTEM.CAT文件,系统会弹出如图2的“安全目录”窗口,如果按下窗口右下角的“查看签名”按钮,就会出现如图3的“数字签名详细信息”窗口。

   我们可以自行测试SFP的保护功能:首先浏览sfpdb.sfp的内容,找一个被SFP保护的系统文件,然后到存放该文件的目录去直接删除或者以其它文件覆盖。如果你还是对SFP功能有些不放心,那么可以将受保护的系统文件移到其它地方。

   来看看一个试验的例子吧。我将C:WINDOWSSYSTEM MSRATING.DLL删除,结果在短短几秒之内,SFP便自动将它恢复了。整个过程中,你除了可以在“资源管理器”中直接观察测试结果外,也可以通过SFP的系统记录文件C:WINDOWSSYSTEMsfpsfplog.txt来查看SFP的运作过程。

   SFP是否真的可以万无一失地保护用户不会掉进DLL Hell?这个问题其实应该从两个方面来说:首先,光靠SFP是无法完全解决DLL Hell的,SFP只是被动地防止系统文件被删除或覆盖(如同Windows 2000用Wondows File Protection来提供类似的功能);程序开发人员只有注意运用系统文件时所带来的问题,进而在开发软件时避免覆盖系统文件的操作,才能取得解决整个DLL Hell问题的双重保障。另外,在一些情况下,某些受保护的系统文件是SFP无法还原的,所以大家还是不能高枕无忧……

计算机应用文摘



相关报道
Windows ME可能难获企业用户青睐 (2001-04-03 13:36:07)
 
更多本栏目内容
??Windows 2000系统安全设置攻略
??Dreamweaver编写CSS需要掌握的技巧
??使用Flash MX过程中的3个小技巧
??拖IE9网站图标到Win7任务栏 精彩好礼任你拿
??从此不再耗流量?Google离线地图试用
??给瑞星添加移动存储自动杀毒功能
??一周壁纸榜单 靓丽风景伴您欢度周末
??金山网络七款软件齐升级 炫丽界面贺新春
??提升网站流量和权重 百度热榜排第一
预警:电商促销引钓鱼 七夕网购需谨慎

本站检索



中华网推荐

·国家级治脑病新药思维源
·中藏药治疗脑病新突破
·治类风湿,强直性脊柱炎
·养肾·痛风·长寿
·肝病泌尿脑萎缩新药介绍
·强直性脊柱炎康复乐园
·让中医辩证不孕不育
·国医治股骨头坏死一绝
·乙肝为何久治不愈?
·二千元垄断批发做老板
·中医中药专治前列腺
·治牛皮癣白癜风已成现实
·专治痛风病的白衣天使
·不孕不育的杏林奇葩
·专卖店零售管理系统





   

网络教室编辑信箱