Назад
Shareware-диск Quake: CD-ROM, який виявився трохи занадто повним
SiTech AI Team2 წთ. საკითხავი

Shareware-диск Quake: CD-ROM, який виявився трохи занадто повним

1996 року id Software заповнила shareware-диск Quake зашифрованими копіями всього каталогу і розблоковувала ігри по телефону. Група GNOMON зламала схему за 39 днів.

До червня 1996 року id Software завершила Quake після трьох років роботи. Shareware-версія займала лише 22 MiB, тож у компанії вирішили використати решту місткості CD-ROM і записали на диск зашифровані копії всього каталогу ігор. Задум полягав у тому, щоб гравець купив диск у магазині, а потім зателефонував і після оплати отримав код розблокування.

Як це мало працювати

Диск анонсували 3 липня 1996 року й випустили 30 серпня. Його можна було купити в магазинах CompUSA та Computer City за $9.95; на упаковці був номер 1-800-669-9342 (1-800-ID-GAMES). Графічна оболонка пропонувала одразу запустити shareware-версію Quake або натиснути QUAKE UNLOCK, а розділ ID STUFF давав змогу переглянути каталог — кілька версій DOOM, HEXEN і HERETIC. Розблокування спиралося на два числа: CODE NUMBER (CHALLENGE), який змінювався під час кожного запуску та кожні п'ять хвилин, і UNLOCK CODE NUMBER (SERIAL), який видавали телефоном після оплати.

Механізм надала компанія TestDrive Corp. Її шифрувальник «денатурував» .EXE: замінював перші 32 KiB власним заголовком (запуск такого файлу показував «This application has been disabled»), перейменовував файл на .MJ3, шифрував оригінальний заголовок як .ST3 і видавав секретний ключ.

Чому схема впала

Через 39 днів після появи диска в магазинах GNOMON опублікувала Quakecrk.zip із QCRACK.EXE — інструментом, який автоматично генерував SERIAL із CHALLENGE. Виявилося, що SERIAL, отриманий телефоном, не містив жодної таємниці: він був лише підтвердженням оплати. Програма FLOW.EXE на самому диску вже генерує SERIAL і лише перевіряє, чи збігається він із введеним користувачем, тож весь захист тримався на приховуванні. Ланцюжок CHALLENGE→SERIAL у 2016 році описав у зворотному напрямку rmolina.

Що ще було не так

Подальший розбір диска виявив і інші проблеми. Поруч із зашифрованою базою SKU.17 лежить майже незашифрована копія SKU.TXT, так само відкриті PRODUCT.TXT і EXE.TXT. Final DOOM неможливо розблокувати через друкарську помилку: ідентифікатор GAME-ID 12 відповідає кодовому імені «Final» з великої літери замість «final», тому вибирається неправильний документ. На диску залишилися тимчасові файли (DM.TMP), артефакти редактора (FLOWWORK.BAK) і невикористаний ENCRYPT.EXE, а формат бібліотеки не шифрували взагалі. У результаті пірати мали зручніший досвід, ніж покупці. За книгою Девіда Кушнера Masters of Doom, експеримент виявився катастрофічним і залишив id майже 150 000 непроданих дисків на складі.

SSiTech

SiTech — веброзробка з підтримкою AI

Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.