В Windows 95 обнаружили скрытый механизм защиты от некачественных установщиков
Инженер Microsoft Рэймонд Чен (Raymond Chen) раскрыл малоизвестный механизм защиты в Windows 95, который был призван бороться с недобросовестными установщиками программ. Чтобы предотвратить замену критически важных системных файлов устаревшими версиями, Windows 95 после завершения установки тихо подменяла их обратно.
В эпоху Windows 95 установочные пакеты программ часто включали в себя собственные копии системных компонентов Windows. Официальная спецификация Microsoft предписывала: установщик должен сначала проверить, существует ли уже такой компонент в системе, и устанавливать свой только если файл отсутствует или его версия старше.
Однако многие разработчики игнорировали это правило и просто перезаписывали системные файлы своими копиями, невзирая на версию.
Это приводило к частым случаям «отката» системных компонентов на более старые версии, из-за чего другое программное обеспечение, зависящее от этих компонентов, вылетало, а вся система могла прийти в нестабильное состояние.
В качестве решения Microsoft создала в каталоге C:\Windows\SYSBCKUP резервные копии часто перезаписываемых компонентов. После каждой операции установки Windows 95 сравнивала версию файла в системе с версией в SYSBCKUP.
Если установщик записывал устаревшую версию, система молча заменяла её на правильную из резервной копии. Если же устанавливалась действительно новая версия, то обновлялась резервная копия в SYSBCKUP.
В результате установщик считал, что успешно обновил файл, в то время как Windows исправляла его действия за кулисами.
Чен рассказал, что до этого Microsoft пробовала более простые, но грубые методы. Первый — просто блокировать перезапись системных файлов, но это приводило к ошибкам установки, с которыми обычные пользователи не могли справиться.
Второй — создавать виртуальный файл, чтобы обмануть установщик, но многие программы проверяли целостность файлов и, обнаружив подмену, также завершались с ошибкой.
В сравнении с ними, схема SYSBCKUP позволяла и установщику «сохранить лицо», и гарантировать актуальность системных файлов.
Хотя этот механизм был примитивным, в эпоху хаотичного распространения софта он эффективно помогал поддерживать стабильность Windows 95.
ИИ: Интересно наблюдать, как уже 30 лет назад Microsoft сталкивалась с проблемами совместимости и стабильности, которые в той или иной форме актуальны до сих пор. Этот «костыль» в Windows 95 — отличный пример прагматичного инженерного решения, когда идеальное технически оказалось неприемлемым с точки зрения пользовательского опыта.







0 комментариев