驱动之家 8小时前
微软大神分享Windows 95神操作:靠文件名猜安装程序!
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

快科技 7 月 12 日消息,微软资深工程师、Raymond Chen 在博客上最新披露,Windows 95 判断一个程序是否为安装程序的方式出人意料地简单,那就是靠猜,它只看文件名里有没有特定关键词。

这个关键词列表一共只有 6 个词:setup、install、inst,以及三个非英语词汇 imposta、ayarla、felrak,分别是意大利语、土耳其语和匈牙利语中与安装相关的词。

其中 install 其实是多余的,因为任何包含 install 的文件名必然也包含 inst,他推测 inst 是后来加的,用来匹配类似 blahinst 这种命名方式的安装程序,而当时没人顺手删掉冗余的 install。

如果文件名一个都没匹配上,Windows 95 还会退而求其次,检查可执行文件的完整路径里是否包含 Setup 一词。

这套字符串匹配机制控制着一个系统文件恢复流程,因为当时的安装程序经常不看版本号就覆盖系统文件,完全无视微软只能用更新版本替换旧版本的规定。

如一个包含 Windows 3.1 版本共享 DLL 的安装程序可以把 Windows 95 的新版文件直接覆盖掉,依赖这些文件的程序随即全部崩溃。

Windows 95 的应对方案是在隐藏目录 C:WindowsSYSBCKUP 中备份常被覆盖的系统文件,等安装程序跑完后再检查一遍,把被降级的文件恢复回正确版本,而这套安全网完全依赖 " 猜对安装程序是否运行过 " 这一前提。

Windows 2000 放弃了这套机制,引入了 Windows 文件保护(WFP),通过 Winlogon 注册文件变更通知,从 %WinDir%System32dllcache 缓存中恢复受保护文件,不再依赖文件名猜测,也不必等待安装程序结束。

Windows ME 推出了类似的系统文件保护,Vista 之后又升级为 Windows 资源保护(WRP),改用访问控制列表(ACL)来保护文件。

如今 Windows 11 用户仍在运行的 sfc /scannow 命令正是这一体系的直系后代,取代了 1995 年那个靠扫描文件名里有没有 setup 来决定是否行动的原始机制。

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

windows 微软 土耳其 工程师
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论