Производители ПК обманывали строки авторских прав в BIOS для получения полных версий пробного ПО

Инженер Microsoft Рэймонд Чен рассказал в своём блоге, что ещё в 90-е годы производители компьютеров добавили строки авторских прав в BIOS, чтобы предлагать клиентам полные версии пробного программного обеспечения в качестве бонуса. 

Покупатели новых ПК могут заметить, что устройства поставляются с определённым набором предустановленного ПО. Его можно активировать, и становится доступна полная пробная версия. Это происходит потому, что производитель ПК является лицензиатом ПО. Однако многие компании пытались обойти процесс лицензирования на начальном этапе.

Во времена Windows 95, когда спецификация Plug and Play всё ещё находилась в стадии разработки, инженерная группа ОС пыталась найти способы, с помощью которых она могла бы идентифицировать ПК, которые существовали до появления этой спецификации. Одним из методов был поиск строк авторских прав и дат прошивки в BIOS. В ходе этой работы инженеры обнаружили довольно странную строку авторских прав «Not Copyright Fabrikam Computer» в ПК, который на самом деле был произведен Contoso. В этом случае и «Fabrikam», и «Contoso» являются вымышленными именами, которые используются для описания сценария без раскрытия названий OEM-производителей. 

Эта строка появлялась, потому что «Contoso» не была официальным лицензиатом ПО, но хотела предоставить клиентам его пробную версию. Чтобы обойти дорогостоящий процесс лицензирования, фирма добавила следующий текст в свою строку авторских прав: «Copyright Contoso Not Copyright Fabrikam Computer». Пробная версия указанного программного обеспечения искала строку «Copyright Fabrikam Computer» и в конечном итоге находила её в подстроке запутанной строки авторских прав, упомянутой выше, случайно активируя полную версию программного обеспечения.

Вот как описывает процесс сам Чен: «Некоторые из этих методов модернизации были действительно запутанными, поскольку нужен был способ передачи информации без путаницы с существующим оборудованием, которое не понимало этот сигнал, чтобы позволить нескольким устройствам координировать ответы на один и тот же сигнал. Например, последовательность обнаружения последовательного порта включает запись определённых значений в порт ADDRESS для входа в режим конфигурации, а затем считывание значений из порта READ_DATA. Если индекс считывания совпадает с установленным битом в идентификаторе устройства, то устройство отвечает значением; в противном случае оно выполняет электротехническую операцию, которая позволяет ответу по умолчанию быть равным нулю, при этом продолжая отслеживать фактическое считываемое значение… После того, как операционная система соберёт все биты идентификатора устройства для идентификатора с самым высоким номером, она перезапускает процесс, и устройство, победившее с „самым высоким идентификатором“, выпадает из списка, чтобы уступить место устройствам с меньшим идентификатором. Этот цикл повторяется до тех пор, пока не будет считан нулевой идентификатор. Это указывает на то, что все устройства были идентифицированы».

Ранее Чен раскрыл очередной секрет эпохи 16-битной Windows, связанный с названием ошибки hard error. Он отметил, что сообщения были сгенерированы внутри системы ввода-вывода, ниже уровня пользовательского интерфейса.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии