Операционная система, изменившая мир персональных компьютеров, скрывала в себе удивительные технологические аномалии. Windows 95, ставшая символом эпохи расцвета ПК, использовала поистине странный метод для идентификации установочных файлов. Ветеран корпорации Microsoft, инженер с многолетним стажем Рэймонд Чэнь (Raymond Chen), недавно приоткрыл завесу тайны над этой архаичной логикой. Оказывается, легендарная ОС попросту «гадала» на кофейной гуще, принимая решения исключительно на основе имени исполняемого файла.
В этой статье мы подробно разберем, как работал этот механизм, почему разработчики выбрали такой путь, и как это влияло на стабильность системы. Вы узнаете, какие «волшебные слова» спасали пользователей от хаоса и почему даже избыточные записи в коде оставались нетронутыми годами.

Механизм идентификации: подход, основанный на догадках
В отличие от современных операционных систем, которые используют сложные алгоритмы машинного обучения или криптографические подписи для проверки подлинности файлов, Windows 95 полагалась на простой, но крайне ненадежный метод. Система не искала внутри файла специальные маркеры или цифровые сертификаты. Вместо этого она анализировала только строку имени запускаемого процесса.
Список «волшебных слов» для установщиков
Инженеры Microsoft составили специальный перечень ключевых слов. Если имя файла содержало хотя бы одну из этих подстрок, Windows 95 автоматически классифицировала его как установщик (инсталлятор). Этот список включал как английские, так и интернациональные варианты, что говорит о попытке адаптации под глобальный рынок.
Вот полный перечень этих «магических» маркеров:
- setup — классическое обозначение программы настройки.
- install — прямой перевод «установить».
- inst — сокращенная версия предыдущего слова.
- imposta — итальянский вариант («устанавливать»).
- ayarla — турецкий эквивалент («настроить» или «установить»).
- felrak — версия на венгерском языке.
Логическая нестыковка в коде
Рэймонд Чэнь обратил внимание на забавную избыточность: запись «install» фактически дублирует «inst», поскольку любое слово, содержащее полную версию, автоматически содержит и сокращенную. Инженер предположил, что изначально в системе было только «install». Однако позже разработчики заметили, что многие программы установки назывались по шаблону [префикс]inst.exe (например, gameinst), и система не распознавала их. Было принято решение добавить «inst», но убирать старую запись из реестра или ядра никто не стал. Это классический пример накопления технического долга, который просуществовал на протяжении всего жизненного цикла Windows 95.
Дополнительные проверки: анализ пути и защита системных файлов
Но идентификация по имени была лишь первым этапом. Если система находила совпадение, она не просто запускала файл, а включала режим повышенной готовности. Одним из таких механизмов была проверка пути к исполняемому файлу.
Поиск ключевого слова «setup» в директории
Даже если имя файла не соответствовало «волшебным словам», Windows 95 проверяла полный путь до него. Если в структуре папок встречалось слово «setup» (например, C:\Programs\Setup\), ОС все равно могла запустить процедуру проверки. Это был своего рода «запасной план» на случай, если разработчики программ назвали исполняемый файл нестандартно, но поместили его в типичную для установщиков папку.
Бонусная функция: мониторинг изменений DLL
Особый интерес представляет механизм защиты системных библиотек. Рэймонд Чэнь отметил, что Windows 95 выполняла проверку в реальном времени после установки мультимедийных драйверов через файлы INF.
В те времена многие драйверы устройств (особенно для звуковых карт и видеоадаптеров) содержали в своих INF-файлах инструкции по перезаписи системных DLL. Это часто приводило к эффекту «DLL-ада» (DLL Hell), когда новая программа заменяла системную библиотеку старой версией, ломая работу других приложений.
Чтобы хоть как-то бороться с этим, команда мультимедиа в Microsoft настояла на внедрении механизма постустановочной проверки. ОС пыталась выявить ошибки и несоответствия в версиях библиотек, однако делала это уже постфактум, когда беспорядок был наведен.

Почему Windows 95 не использовала другие методы?
Современному пользователю сложно понять, почему инженеры не добавили проверку по сигнатуре PE-заголовка или MD5-хешу. На то были веские причины, связанные с ограничениями того времени:
- Аппаратные мощности: Процессоры 486 и ранние Pentium были слишком слабы для вычисления криптографических хешей в фоновом режиме.
- Размер кода: Операционная система умещалась на нескольких дискетах, и разработчики экономили каждый килобайт.
- Эволюция Интернета: В 1995 году цифровые подписи не были распространены, а сертификаты безопасности только зарождались.
Сравнение подходов: Windows 95 против современных ОС
Чтобы оценить прогресс, взгляните на эволюцию методов идентификации софта:
| Критерий | Windows 95 (1995) | Windows 10/11 (Современность) |
|---|---|---|
| Метод проверки | Анализ имени файла (строка) | Анализ цифровой подписи и хеша SHA-256 |
| База данных | Статический список из 6 слов | Облачная база репутации SmartScreen |
| Реакция на угрозы | Запуск сканирования DLL | Блокировка запуска и отправка в карантин |
| Защита от перезаписи | Пост-инсталляционная проверка | Контроль целостности WFP (Windows File Protection) |
Наследие «угадайки» в современных системах
Интересно, что отголоски той старой логики можно встретить и сегодня. Например, веб-браузеры по-прежнему обращают внимание на имена загружаемых файлов, помечая подозрительные дубликаты. Однако сегодня это лишь один из сотни параметров, в то время как в Windows 95 это был главный и, по сути, единственный критерий.
Эта история — прекрасная иллюстрация того, как инженерные компромиссы прошлого формировали пользовательский опыт. Вместо сложной эвристики разработчики выбрали простой, хотя и громоздкий путь, добавляя в код новые слова по мере обнаружения проблем. Это работало ровно до того момента, пока пользователь не переименовывал файл virus.exe в setup.exe — тогда система теряла бдительность и доверяла любому коду.
Заключение: уроки прошлого для будущего
Воспоминания Рэймонда Чэня о Windows 95 — это не просто ностальгия, а ценный урок. Они напоминают нам о том, как далеко шагнула индустрия информационной безопасности. То, что казалось нормой тридцать лет назад, сегодня выглядит верхом беспечности.
Однако не стоит судить строго: в условиях ограниченных ресурсов и отсутствия киберугроз в современном понимании, подход Microsoft был разумным компромиссом. Windows 95 умела «надеяться на лучшее», и чаще всего это срабатывало. Но если вы встретите в архиве старый инсталлятор с именем inst.exe — знайте, что перед вами артефакт эпохи, когда операционная система доверяла вам ровно настолько, насколько вы доверяли написанному на ней тексту.
Следите за обновлениями нашего блога — впереди еще много историй о том, как работали легендарные системы и какие секреты они скрывают. А пока советуем перепроверять названия загружаемых файлов, ведь старые привычки, как показывает практика, имеют свойство возвращаться.

