Windows文件保护
Windows文件保护(英語:,缩写WFP)是Windows 2000和Windows XP中纳入Microsoft Windows操作系统的一个子系统,用于防止程序替换关键的Windows系统文件。保护核心系统文件可缓解程序和操作系统的DLL地獄等问题。Windows 2000、Windows XP和Windows Server 2003包含WFP;Windows Me中则其称为系统文件保护(System File Protection,缩写SFP)。[1][2]
原理
Windows文件保护处于活动状态时,替换或删除没有文件锁定的系统文件会使Windows立即静默恢复文件的原始副本。文件的原始版本取自一个保存相关文件备份的缓存文件夹。Windows NT系列使用缓存文件夹%SystemRoot%\System32\Dllcache。Windows Me使用%windir%\Options\Install文件夹。[3]
WFP涵盖操作系统安装的所有文件(诸如DLL、EXE、SYS、OCX等),使这些文件不被删除或替换为旧版本。这些文件的数字签名使用代码签名,并存储在%SystemRoot%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}文件夹。仅Package Installer(Update.exe)或Windows Installer(Msiexec.exe)等部分操作系统组件能替换这些文件。使用其他任何方法尝试替换这些文件都将触发还原机制,使文件静默复原为缓存中的版本。如果Windows文件保护在缓存文件夹中找不到该文件,将会搜索网络或提示用户提供Windows安装盘以恢复文件的适当版本。[1]
Windows Vista及后续版本的Windows系统不含“Windows文件保护”组件,改用基于存取控制串列(ACL)保护文件的Windows资源保护组件。Windows资源保护不仅保护操作系统文件,同时保护核心注册表项和值,并阻止可能破坏系统配置的更改。