Пожалуй, сколько существуют коммерческие компьютерные и видеоигры — почти столько их пытаются «спиратить». Для одних пиратство стало способом экономии и доступа к проектам, не выпущенным в конкретном регионе, для других это вариант неплохо заработать, для третьих — вообще нечто вроде спорта. Мы уже рассказывали о самых оригинальных способах защиты игр, теперь же коснемся другой темы — истории взлома консолей. Причем история эта настолько многообразна, полна побед и поражений, что раскрыть ее получится лишь в серии статей.
И начнем мы эту серию с рассказа о борьбе пиратов с двумя легендарными консолями более чем 20-летней давности: Sony PlayStation и Sega Dreamcast.
Sony PlayStation (1994-1996)
Оригинальная PlayStation — это вообще кладезь удивительных историй. Ее прототип должен был стать SNES-CD, но Nintendo без предупреждения отменила заказ и ушла к Philips. Sony «в отместку» сделала собственную консоль с модным тогда CD-приводом, которая затмила эпическое противостояние Sega и Nintendo своими продажами.
Вопреки расхожим мифам (которые распространяла сама Sony), оригинальные черные диски никак не помогали защите от пиратства. Этот черный пластик прозрачен для инфракрасного лазера, поэтому не мешает даже бытовым CD-приводам.
Однако обратной стороной использования стандартных CD-дисков стало пиратство. Картриджи нельзя просто скопировать или записать. По сути, это был кастомный SSD, с которого можно только читать (ROM — read only memory). Чтобы сделать пиратскую копию, надо не только иметь образ игры, надо иметь специальное оборудование для записи на картриджи и сами пустые картриджи. Для организованных групп все это не было проблемой, а вот для простого игрока, который хотел сделать запасную копию своей любимой игры — практически непреодолимым препятствием. А обычные CD можно было считать и потом записать при помощи бытового CD-R привода на болванку за 10 рублей.
В Sony, конечно, все это знали. На внутреннем радиусе CD расположена полоса, на которую записывается оглавление. Sony модифицировала ее, сделав вместо обычного круга волнистой линией, которую не могут повторить бытовые CD-приводы. Эта же линия использовалась консолью, чтобы определить регион диска, чтобы игру из Японии не могли запустить в Европе или США и наоборот. Решение было найдено практически сразу — если оставить крышку привода PS1 открытой, дать консоли провести проверку оригинального диска, а потом быстро сменить его на обычную болванку, то игра запустится.
Следующим шагом была модификация консоли чипом, который перехватывал сигнал проверки волнистой линии и всегда отправлял ожидаемый ответ. Это было настолько просто и дешево, поэтому популярно, что сейчас найти PS1 без такого чипа невозможно почти нигде в мире. Вместе с этим появились первые группы взломщиков, которые выкладывали образы дисков в интернет. Они же добавляли в консольные игры читы, потому что на дисках не было защиты от изменения содержания, а на консоли — проверки целостности памяти.
В январе 1996 года для PS1 и Sega Saturn вышло устройство GameShark Pro, которое позволяло значительно расширить функционал консолей — использовать читы, проигрывать любые заставки с диска игры и, помимо прочего, запускать любые игры (и другого региона, и пиратские) на PS1. GameShark использовал порт Parallel I/O на ранних моделях PS1, который позволял подключать аксессуары вроде проигрывателя Video CD. В США и Великобритании GameShark открыто продавали во многих магазинах видеоигр, и это привело к невероятному уровню пиратства. Поэтому под конец 1997 года Sony начала убирать порт Parallel I/O из новых ревизий PS1.
В 1998 году году Sony начала бороться с пиратством всерьез. Чипы работали всегда, хотя проверка производится только на запуске, поэтому новые игры могли в любой момент запросить проверку региона, получить позитивный ответ и определить, что консоль была модифицирована. Это легко обошли чипами, которые активны только во время запуска. Другой попыткой Sony была система защиты LibCrypt, которая шифровала часть кода игры 16-ти битным ключом, однако хакерские группы очень быстро научились доставать из игры ключ шифрования и убирать защиту из своих копий.
Некоторые игры, вроде Spyro: Year of the Dragon (2000), использовали дополнительные методы защиты. Insomniac добавили проверку чек-суммы — если хоть один бит игровых данных был изменен, то игра сначала заявляла, что вы играете во взломанную копию, потом начинала выдавать разные глюки, а если игрок продолжал не понимать намеки, то удаляла его сохраненку. В 2020 году ютубер Modern Vintage Gamer связался с хакером Paradox, чтобы узнать как он сумел обойти эту защиту через два месяца после релиза игры. Paradox вручную сравнивал код, чтобы найти все чек-суммы, и вставил в игру специальный код, который перехватывал запросы чек-суммы и заменял их на верные ответы. Однако такие меры защиты использовали всего несколько игр на PS1, потому что их созданием должны были заниматься сами разработчики, а стандартизированные решения от Sony не работали.
Удивительно, но это не конец истории. Через 27 лет после выхода PS1 появился полностью программный хак, который работает на всех ревизиях консоли. Он основывается на играх Tony Hawk's Pro Skater 2 и 3. Ошибка в движке этих игр позволяет исполнять на консоли любой код, в данном случае — найденные в 2013 году команды, которые отключают проверку региона в приводе PS1 и позволяют менять диск без выключения консоли. Так при помощи диска с Tony Hawk's Pro Skater 2 или 3 и специальным файлом с сохраненной игрой можно играть в копии игр на любой, даже не модифицированной версии PS1.
Sega Dreamcast (1998-1999)
Dreamcast работала на том же железе, которое Sega использовала в своих аркадных автоматах. Даже они были защищены от пиратства, поэтому неудивительно, что Dreamcast тоже получила многослойную аппаратную защиту. К тому же игры шли не на обычных CD, а на особых дисках GD-ROM, разработанных Sega вместе с Yamaha. GD расшифровывалось как Gigabyte Disc, потому что на них действительно помещалось 1,2 Гб данных, на 42% больше, чем на обычных 700 Мб CD.
Диски GD-ROM сами по себе были уже достаточной защитой. Обычные CD и DVD проигрыватели могли прочитать только внутреннюю зону диска, в 35 Мб которой содержался трек CD-Audio с голосовым предупреждением, что этот диск может использовать только Sega Dreamcast. Более того, консоль искала конкретные уникальные файлы с метаданными, с которых она начинала загрузку. Однако Dreamcast поддерживала и другой формат дисков — MIL-CD. Если вы никогда про него не слышали, то не стоит расстраиваться. Его придумала Sega для модных тогда функций вроде караоке и интернет-функций. Всего вышло 9 дисков MIL-CD, все — в Японии. Для того, чтобы MIL-CD работали на Dreamcast, они тоже содержали эти файлы с метаданными и, потому что MIL-CD были обычными CD, их можно было скопировать бытовым CD-приводом.
Однако оставалась проблема копирования самих игр. На Dreamcast есть последовательный COM-порт, по которому консоль подключали к компьютеру и, применив специальный софт, который можно было запустить при помощи взломанных дисков, в течении нескольких часов скачивали образ игры на жесткий диск. Сейчас есть специальные USB-устройства вроде Dreamcast SD Rip, которые сбрасывают игры на карты памяти SD, упрощая процесс. Для того, чтобы игры, сделанные под 1 Гб диски помещались на 700 Мб CD, пираты часто пережимали видео или просто убирали его с дисков.
Sega убрала поддержку MIL-CD из второй ревизии консоли под конец ее жизненного цикла, но было уже слишком поздно — большинство версий Dreamcast поддерживают пиратские копии игр.
Dreamcast стала последней консолью Sega — после ее коммерческого провала легендарная японская компания решила сосредоточиться на разработке игр. А на рынке консольного железа борьбу продолжили Sony, Nintendo и присоединившаяся к ним чуть позже Microsoft. Конечно, новые консоли этих компаний также стали лакомыми целями для пиратов — об этом пойдет рассказ в наших следующих выпусках.