分享
 
 
 

深入WindowsME之系统文件保护

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

追求稳定是任何操作系统的目标,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中,一整行记录就是一笔被保护的系统文件资料(见图1)。

但是,只有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的运作过程(见图4)。

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有