За 39 дней взломали CD Quake стоимостью 10 долларов

В 1996 году id Software выпустила CD с Quake за 10 долларов и зашифрованными сборками каталога. Через 39 дней в сети появился Quakecrk.zip с утилитой, открывавшей все игры.

В 1996 году id Software выпустила компакт‑диск с Quake, который продавался в розничных магазинах примерно за 10 долларов. На диске была 22‑мегабайтная shareware‑версия Quake, а оставшийся объём носителя (около 640 МБ) заняли зашифрованные сборки других игр студии. Покупатель должен был позвонить на горячую линию, оплатить выбранную игру по телефону и получить код для разблокировки прямо с диска.

Спустя 39 дней в сети появился архив Quakecrk.zip с утилитой Qcrack.exe, генерировавшей рабочие серийные номера и открывавшей все игры с диска. Программист Фабьен Санглар изучил структуру носителя и установил, что уязвимость заключалась в логике проверки: программа сама вычисляла ожидаемый серийный номер и сравнивала его с введённым пользователем. Серийный номер выполнял роль индикатора оплаты, а не механизма защиты содержимого, поэтому алгоритм генерации было относительно просто воссоздать.

При разборе служебных файлов Санглар наткнулся на опечатку: кодовое имя Final Doom в одном месте записали с заглавной буквы вместо строчной. Из‑за этой ошибки официальная процедура разблокировки для этой части каталога не срабатывала, тогда как утилита Qcrack.exe обходила ограничение.

В результате система обработки заказов и логистика вышли из‑под контроля. Студия попыталась срочно свернуть программу розничных продаж, но сделать это оперативно не удалось. В книге Дэвида Кушнера приводятся данные, что у компании осталось около 150 тысяч нераспроданных дисков на складе.

По оценке Фабьена Санглара, ситуация привела к парадоксальной ситуации, когда «нелегальные пользователи получили опыт лучше, чем платящие клиенты». Эксперимент с офлайн‑дистрибуцией выявил недостатки в схеме проверки серийных номеров и в процедуре обработки заказов.

Статьи этого автора