正在阅读:一个键值让文件在重启过程中全替换一个键值让文件在重启过程中全替换

2008-06-13 09:43 出处: 作者:电脑爱好者 责任编辑:xuwei2

  大家都知道,在Windows里,正在使用的文件是无法删除或者替换的,这些操作只会被告知“文件正在被占用,无法删除”,不过如果那样的话,系统文件在一启动的时候就被占用,Windows Update更新程序又是怎么替换这些文件的呢?其实,乾坤全在注册表的一个小小键值中。

  多数需要修改系统文件的安装程序,都会在系统重启前向注册表的“自动替换项”中写入键值,具体位置为[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]下的“PendingFileRenameOperations”项(见图)。

3-1

图1 注册表修改

  这是Windows 2000/XP需要在重启过程中替换或修改正在使用的文件时用到的键值,即当系统要在重启时替换或修改正在使用的文件,就会写入此键值,第一行“\??\C:\abc”中“abc”就是替换前的文件,后一行的“!\??\C:\Windows\abc”表示替换后的文件。通常在安装驱动、软件时,需要修改系统文件时才会建立此键值,而平时是没有的。利用此机制可以替换正在使用的文件,以此修复损坏的系统文件,或者将eXeScope修改过的程序文件替换原有的文件(替换系统文件可能要关闭系统文件保护,可利用XPLite等工具)。而木马也可能利用此键值来替代正常的系统文件,从而金蝉脱壳死而复生。

关注我们

最新资讯离线随时看 聊天吐槽赢奖品