Ваша копия не ваша: когда появились DRM и как они работают, часть I. Картриджи, диски, становление StarForce и ловушка Гейба
Императрица снова жалуется на Denuvo — вставляя палки в колеса хакерам, ее создатели не чураются повышать влияние системы на производительность игр. Окей, про Denuvo и ее вред слышал каждый, но много ли кто до сих пор помнит, что было до? Как защищали игры на дисках и даже до их изобретения? Мы вспомнили наиболее распространенные системы защиты игр от копирования, среди которых одним из самых ярких стало отечественное решение, много лет мучавшее игроков. Портящиеся компьютеры, толпы геймеров в ярости и анекдоты, которые разработчики оставляли для хакеров — оказалось, что в теме полным-полно всего интересного, о чем мы и расскажем сегодня. Хотя начать, как всегда, стоит с основ.
Содержание:
Что такое DRM
Видеоигры — далеко не первая область, в которой кто-то пытается защитить авторское право, так что обратимся к истории. Хотя в средние века ученые и люди искусства считали, что они являются не творцами, а лишь проводниками божественного знания, и, соответственно, присваивать достижения себе было просто греховно, в Новое Время все изменилось. В 1710 году в Великобритании королева Анна выпустила статут, устанавливающий, что правом на текст владеет автор этого текста.
Она начала борьбу с пиратством в XVIII веке, а вы все еще качаете игры с торрентов
До XX века следить за соблюдением авторского права предназначалось самим авторам и их агентам, своевременно обращаясь в суд, но затем появились технические средства защиты авторских прав. Собственно, это и есть те самые злосчастные DRM (digital rights management), о которых теперь так злостно отзываются игроки и хакеры.
Ближе к нашему времени DRM внедряли не только в игры — самые разные технологии применялись для предотвращения нелегального копирования фильмов, телевизионных передач, документов, электронных книг, музыки и, конечно же, самого разного программного обеспечения.
Например, музыка на всех стриминговых сервисах защищена DRM
И, вы не поверите, во всех этих сферах системы защиты настолько же мешают честным потребителям, как и злополучная Denuvo — геймерам. Например, для фильмов на DVD была изобретена целая прорва технологий: CSS, RPC, AACS и так далее. Каждый из них привносил покупателям толику своей боли: из-за разных стандартов на каких-то проигрывателях не читались диски, а власти Австралии и Новой Зеландии так и вообще запретили продавать в стране DVD-плееры, искусственно ограничивающие воспроизведение с носителей из-за несовпадающих регионов.
Ну и спасло ли это человечество от пиратских DVD?
Если бы дело ограничивалось DVD…
Это помогает?
И да и нет. С одной стороны, если игроки могут достать желанную игру дешевле или вообще бесплатно, то именно так они и поступят. Чтобы лишить пользователей возможности cпиратить в первые дни, издатели обычно и ставят в свои игры все эти ужасные DRM — ведь именно на этот период приходится основная часть продаж. Все звучит достаточно логично, не правда ли? Вот только доказательств того, что внедрение DRM увеличивает продажи, нет.
Показательная история случилась с Ubisoft. В качестве эксперимента в 2008 году компания выпустила свою классическую трилогию Prince of Persia в магазине GOG, который славится тем, что продает игры без защиты. И что бы вы думали? За сутки эти версии скачали с торрента 24 тысячи раз. Это, конечно, впечатляет, но мы не знаем, сколько человек купило бы игры, если бы не скачали их с торрента: то, что широкими мазками записывается в графику «недополученная прибыль», по сути этим не является — не факт, что пираты будут покупать игру, не имея к ней бесплатного доступа. Тем временем за почти 20 лет в Steam Sands of Time купили от 200 до 500 тысяч человек — с момента закрытия Valve одного из API мы не знаем точных данных, но это все равно показательно.
Принц умел бегать по стенам, на даже это не помогло ему сбежать с торрентов
Противники систем защиты не перестают настаивать, что скачавший контент бесплатно пользователь не равен пользователю, который купил его за полную стоимость. Ведь люди часто берут что-то по низкой цене (или бесплатно) просто потыкать, а платить за это не готовы — на этой же идее построены современные подписочные сервисы типа Xbox Game Pass. К тому же игры без защиты продает GOG — и, несмотря на финансовые проблемы, магазин существует c 2008 года и по сей день.
В какой-то момент разработчики поняли, что лучший способ защитить игру от пиратства — дать игрокам крутой онлайновый сервис, отсутствие которого бы ломало игру. Впрочем, не все компании поняли эту мысль правильно, но начиналось все совсем по-другому.
Ранние годы (1980-1990)
На старых приставках и компьютерах отдельных систем защиты как таковых и не было. Отчасти спасали положение чисто физические ограничения: картридж для консолей Nintendo или Sega подделать достаточно непросто. Впрочем, сами компании это задумывали не столько для защиты от пиратства, сколько для регионального контроля. Выпуск тех или иных игр в разных регионах был важным рычагом управления над локальными представителями.
Картриджи для SNES: сверху — американский, снизу — японский; очевидно, что в консоль другого региона они физически не влезут
А вот как только дело доходило до дискет, случались различные казусы. Например, в Японии для оригинальной NES, работавшей на картриджах, вышло расширение Disk System, которое работало уже на дискетах — и таким образом обходило некоторые ограничения. Дискеты для DS были 2,8-дюймовым, то есть заметно отличались от потребительских 3,5-дюймовых. Казалось бы, что путь пиратству перерезан, однако на деле это были дискеты Quick Disk, которые использовались фирмой Mitsuni в бытовой электронике. Чтобы защититься от этой напасти, Nintendo лепила на них специальную наклейку, без которой устройство отказывалось считывать носитель, хотя в некоторых случаях наклейки просто перелеплялись.
Но если консоли работали в основном на картриджах, которые сами по себе были определенным барьером, то на ПК было совсем тяжело. Достать пустые дискеты пиратам было несложно, так что хоть для какой-то защиты разработчики ухищрялись как могли. Иногда официальные копии записывались с различными особенностями, например, сбитыми секторами, что делало копирование невозможным. Впрочем, этот прием бил по самому пользователю: невозможность сделать резервную копию честно приобретенного ПО была особенно обидна, когда родная дискета могла со временем (или сразу с завода) выйти из строя.
DOOM 2 на пяти дискетах, любая из которых может оказаться битой
Этот способ не нашел особого распространения, поэтому разработчики перешли на другие хитрости — именно тогда был придуман способ со вводом лицензионного кода. Игра просто не запускалась, если ты не вводил ключ, который иногда был напечатан в мануале. В некоторых случаях разработчики проворачивали и более хитрые схемы.
Например, вместе с The Secret of Monkey Island поставлялся специальный пиратский шифр, выглядящий как картонный круг с вырезами. Сопоставив вырезы с символами, пользователь получал заветный код.
Тот самый картонный ключ из The Secret of Monkey Island
В дальнейшем эту систему развивали и дошли до совсем уж садистских методов. Например, любитель сломать четвертую стену Хидэо Кодзима в первом Metal Gear Solid заставляет игрока набрать на рации ту частоту, которую он может увидеть на одном из скриншотов с задней обложки официального диска. К чести магазина GOG, нужный скриншот есть и на его странице, где игра до сих пор продается.
В некоторых случаях игра, не обнаружив файла лицензии, запускалась, но подбрасывала нерадивому нарушителю лицензионного соглашения разные неприятности — портила сохранения или меняла игровой процесс. Некоторые разработчики делают подобные «приколы» до сих пор: в пиратской версии Quantum Break у главного героя появлялась повязка на глазу, в Dark Souls уже в первой локации встречали высокоуровневые враги, в GTA 4 пираты играли перманентно пьяным персонажем, а в Crysis: Warhead оружие стреляло курами. Впрочем, взломщики довольно быстро обнаруживают такие штуки, поэтому скачав взломанную игру с торрента сейчас, вы вряд ли столкнетесь с чем-то подобным.
StarForce: первый этап (2000-2009)
Начнем с широко известной системой защиты StarForce, которую в те времена можно было по праву назвать прорывным отечественным продуктом, трясшим мировой рынок. Даже западные компании пользовались российским решением, иногда показывающим невиданные результаты, но игроки систему защиты невзлюбили.
Разработка защитного ПО началась в 1998 году в компании Protection Technology, но впервые оно было применено лишь в 2000-м — первопроходцем стал российский издатель «Руссобит-М», защитивший игру «Тараканы». Уже с 2003 года на решение обратили внимание партнеры из Китая и Японии, а в Париже даже открылся отдельный офис. К 2007 году в мире было продано уже более 60 миллионов дисков с этой защитой, а в 2009-м вышла версия, которая активировалась через интернет, но этот момент мы пока отложим.
Это изображение вызывает у вас приятную ностальгию или бередит старые раны?
Первоначальная версия StarForce наверняка знакома тем пользователям, которые в середине нулевых приобретали «джевелки за сотку». Для пользователя ее работа выглядела так: игра устанавливалась, после установки самой игры и перед запуском появлялось синее окно, которое требовало ваш лицензионный ключ, а потом ставило что-то еще; затем вы перезагружались, и перед каждым запуском игры по такому же синему окошку пробегала полоса проверки. Разумеется, для запуска игры нужно было держать диск в дисководе и не вынимать его до конца сеанса.
На деле же в это время с вашим компьютером происходили страшные вещи. Основой первых версий защиты StarForce была жесткая привязка к физическим параметрам диска. При проверке программа смотрела, есть ли у проверяемого носителя ATIP-информация (она есть только у болванок, у заводского диска ее быть не должно), а также есть ли у него DPM-сигнатура и какая она (уникальные данные, записываемые для каждой партии отпечатанных дисков). Если вдруг какие-то из этих параметров казались StarForce подозрительными, игра не запускалась. С этим-то и была проблема.
Вот так бесславно все часто и заканчивалось
С чего начать? Секторы с нужной информацией в принципе могли повредиться, учитывая, с какой завидной регулярностью StarForce раскручивала диск, а носитель с повреждением для системы по определению будет пиратским. Более того, от этого страдали и сами дисководы: при каждой подобной ошибке Windows замедлял работу привода, считая, что все из-за слишком высокой скорости чтения. В итоге упорный пользователь, пытающийся заставить работать игру на поврежденном диске со StarForce, самостоятельно замедлял себе привод, а исправлять это нужно было вручную через диспетчер устройств, о чем мало кто знал.
Впрочем, само по себе требование держать диск в дисководе не новость — на консолях это так до сих пор и работает, а в нулевые этого иногда требовали даже пиратские копии. Со временем народ научился обходить такие защиты с помощью DAEMON Tools и Alcohol 120%, но у разработчиков StarForce из Protection Technology нашелся ответ и на это.
А вы пользовались Alcohol или DAEMON Tools?
С версии 3.0 StarForce на куда более глубоком уровне влезала в систему и проверяла, что там за дисководы вообще установлены. Для этого использовался специальный драйвер, который игроки с удивлением обнаруживали у себя на компьютере. Этот драйвер был призван определить, пользуетесь ли вы настоящим дисководом, или впариваете системе защиты образ диска через эмуляцию привода, из-за чего нередко возникали конфликты — например, в запуске игры могли отказать в случае, если в компьютере два и более физических привода.
Особо неприятно, то что удалить этот драйвер было трудно: он не вычищался из системы вместе с деинсталляцией игры и своим влиянием на систему мог продолжить портить кровь пользователю. Позднее вышла специальная утилита, которая удаляла отдельно этот драйвер, но и тут не обходилось без жертв: зафиксированы жалобы, что программа забирала с собой и дисковод, подчищая нужные для его функционирования параметры.
Этот ноутбук не прошел бы проверку StarForce
Также StarForce тратила заметную часть мощности системы на собственные нужды. Продвинутые пользователи были недовольны тем, что программа выписывала себе root-права, могла запускать любой непроверенный код и создавала зашифрованную виртуальную машину, в которой гоняла модули защиты, из-за чего заметная часть ресурсов компьютера уходила вовсе не на игру.
К тому же, пользователи, профили Windows которых не обладали правами администратора, вообще не могли запускать свои честно купленные игры — ведь для проверки подлинности нужно было дать разрешение на это низкоуровневое шаманство с дисководом и виртуалками. Разработчики StarForce не считали это серьезной проблемой, ведь большинство игроков и так сидели из-под учетных записей администраторов, хотя Microsoft рекомендует так не делать.
Откровенно говоря, Protection Technologies была права
Также деятельность StarForce часто приводила к BSOD («синим экранам смерти»). Из-за суровости проверок и запрашиваемых привилегий, несовместимость с любым сторонним устройством или программой могла привести к фатальной ошибке, преследующей пользователя — в том числе к этому подталкивали использование эмуляторов приводов даже в сторонних от пиратства целях и прослушивание музыки с Audio CD. Уже тогда русские пугали Запад: редактор журнала PC Gamer был удивлен, когда из-за трений системы защиты его аудиодиска и StarForce данные из дисковода не поступали в оперативную память, роняя и без того не самую стабильную ОС Windows в «синий экран».
Отдельного упоминания стоит реализация системы кодов, которые нужно было вводить при первом запуске игры. В большинстве случаев для StarForce они были написаны на самом диске, что было крайне неудобно, ведь диск должен быть вставлен в дисковод. Иногда ситуацию спасало то, что игры поставлялись на 2-3 CD, а код был нанесен на установочный, а не игровой диск.
Фото из личной «коллекции» автора
При этом для каждой копии ключ был уникален, то есть код с одного диска не подходил к другому. Принцип состоял в том, что какой-то фрагмент данных был записан на диске со смещением, и в ключ-коде был зашифрован тот сегмент диска, где находилось продолжение оборванной цепочки. Разумеется, такая технология требует невероятной ответственности: на каждый диск должен быть записан ключ от конкретного диска. Это не тот случай, когда с любой копией игры подойдет любой ключ, а главное активировать его на серверах.
В сети встречаются жалобы пользователей 15-летней давности, уверяющих, что их игра отказывается работать с предоставленным кодом. В теории, выпускающие диски заводы действительно могли не проводить полную валидацию всей партии и подобные ошибки имели место, но мы оставим эту историю в веках.
Ни один из этих дисков не обманет StarForce
Благодаря всем этим драконовским мерам StarForce действительно какое-то время была крайне успешной защитой от копирования. Своим главным успехом в те годы компания считала Tom Clancy’s Splinter Cell: Chaos Theory, которая продержалась невзломанной 422 дня. Впрочем, несмотря на эти успехи, спустя год, в 2006-м, Ubisoft перестала пользоваться StarForce — на компанию подали в суд покупатели за использование этой технологии, которую на Западе совсем не жаловали из-за многочисленных спекуляций о наносимом компьютеру вреде.
Сама Protection Technology боролась за свою репутацию как могла. Одной из самых громких акций стал конкурс на несколько тысяч долларов, которые компания обещала тому, кто принесет в их офис свой компьютер и докажет, что StarForce нанесла ему вред. Никто не удивился, когда не нашлось ни одного желающего — пиарщики использовали это как доказательство безобидности технологии, а пользователи просто ссылались на лицензионное соглашение, по которому компания возложит всю вину на стороннее оборудование.
Ну и в целом разработчики уверяли, что их продукт отлично работает и полностью безопасен, а во всем виноваты пользователи:
«Согласно нашим данным, испытывающие проблемы совместимости пользователи являются начинающими хакерами, пытающимися обойти защиту».
— Денис Жидков, PR-менеджер Protection Technology в 2006 году
Впрочем, в тех случаях, когда были виноваты не пользователи, виноваты были издатели. Так, со временем часть разработчиков убирала из своих игр StarForce, как сейчас убирают из взломанных игр Denuvo, и обязанность эта лежит только на их плечах. Также Protection Technology уверяла, что зверский драйвер можно установить во время инсталляции игры и не требовать дополнительной перезагрузки компьютера, а также удалять вместе с дистрибутивом, но для этого в код нужно внести «буквально две строчки, чего никто из издателей не сделал». Впрочем, о том, что лежит на плечах разработчиков, мы поговорим позднее, вспоминая о дальнейшем пути компании.
Сэм Фишер готовится ударить ножом в спину Protection Technologies, фото в цвете, 2006 год
Но история этой версии StarForce завершилась вместе с тем, как канула в Лету физическая дистрибуция игр. Первым мощным ударом стала Windows Vista, которая перестала давать самописному драйверу пропуск на нижние уровни операционной системы, что в лучшем случае не давало запустить игру, а в худшем вызывало BSOD. Сейчас даже на торрент-раздачах предпреждают, что запустить игру с помощью эмуляции образа и ввода кода можно только на Windows XP и ниже, а начиная с Vista нужно ставить полноценный «кряк», искореняющий защиту с концами.
Еще одним ударом по StarForce стал Steam, который сделал защиту в ее первой итерации практически ненужной.
Steam и его DRM (2004-…)
Очевидно, что сам по себе Steam не является системой защиты от копирования. Изначально в Valve задумались о создании собственного сервиса для игры по сети после того, как в 1998-1999 годах Counter-Strike и Team Fortress Classic стали собирать тысячи игроков в онлайне. Разработчики хотели обеспечить им качественный матчмейкинг и своевременное обновление клиентов.
Позднее компания подумала, что было бы круто еще и продавать через подобное решение и сами игры, организовав таким образом виртуальную торговую площадку. Хоть изначально идея казалась слишком дорогой, но привлечь партнеров в лице Amazon, Cisco и Yahoo не удалось, так что Valve решила все сделать сама.
В начале пути Steam выглядел так
Steam был анонсирован в 2002 году, а вышел из всех тестирований и стал общедоступен 12 сентября 2003-го. Тогда Valve еще не требовала его наличия для игры в уже упомянутую Counter-Strike и сделала установку своего магазина необязательной. Пользователи пока не до конца понимали задумку компании, а Steam воспринимали как онлайн-сервис для работы мультиплеера, вроде WON или GameSpy. Весь ужас ситуации до геймеров дошел вместе с выходом Half-Life 2.
В 2004 году ожидаемый сиквел стал первой однопользовательской игрой, которая требовала обязательного наличия интернета для запуска и установки Steam. В дальнейшем пользователь мог играть и без подключения к сети, но первичная активация должна была быть проведена по сети. Чтобы дополнительно усложнить жизнь, Valve заставила игроков скачивать целый недостающий гигабайт игры с серверов, что при весе всей Half-Life 2 в 4,5 ГБ и тогдашних скоростях и лимитах выглядит довольно жестко. Впрочем, начать играть можно было и не дожидаясь конца загрузки, но тогда пользователю было доступно всего несколько уровней.
Этот уровень доступен всем россиянам бесплатно
Разумеется, схема сразу же ударила по игрокам, наплыва которых не выдержали серверы Steam. Пострадали даже те пользователи, которые решили не покупать диск, а приобрести цифровую копию, так что им не нужно было докачивать пресловутый гигабайт. Но поскольку до старта продаж игра хранилась в зашифрованном виде, сервер должен был «дать добро» на расшифровку файлов, а возможности на это у него не было. Положа руку на сердце, даже спустя 18 лет подобные ситуации с предзагруженными играми все еще не редкость — иногда быстрее будет на релизе перекачать всю игру, чем дожидаться расшифровки предзаказа.
Но нам важно, что именно с помощью необычного способа распространения Half-Life 2 удалось защитить от взлома в первые дни. Разумеется, позднее были выпущены и «таблетки», вырезающие Steam из дистрибутивов игры, и эмуляторы самого Steam, но первое время отчаяние игроков доходило до того, что в магазинах с играми вешали объявления вроде таких: «Для Half-Life 2 нужен интернет!»
Фото с табличками не сохранилось, но на дисках точно писали
Со временем система преобразилась и превратилась в решение, которое разработчикам будет удобно внедрять в свои игры. Все это известно как Steam DRM, которым игры активно защищают до сих пор. Конечно, по эффективности он не сравним со сторонними системами, а для нынешних хакеров обход этой защиты не представляет трудностей. Обычно игры со Steam DRM взламывают в считанные часы после релиза.
Зато и влияние на компьютер пользователя у нее гораздо ниже. Например, базовый уровень защиты состоит в том, чтобы просто проверить наличие лицензии через Steamworks API (набор функций для разработчиков в удобном виде). С помощью нескольких строк кода можно узнать, действительно ли на конкретный аккаунт конкретного пользователя была приобретена конкретная игра, и не запущена ли она сейчас где-то еще. Впрочем, взламывается этот метод защиты тоже довольно просто — хакеру просто нужно подсунуть модифицированный файл steam_api.dll или воспользоваться эмулятором Steam, который уже давно разработал хакер Goldberg.
А другой эмулятор Steam под названием SAM умеет взламывать ачивменты
Второй вариант защиты называется SteamStub, хотя иногда встречается название Steam Bind. Он также обращается к API Steam, но в этот раз для того, чтобы расшифровать часть исполняемого файла. Эту схему используют в тех случаях, когда у компании нет возможности влезть в код и модифицировать его для внедрения обычной защиты — например, как в истории с The Sinking City, когда издатель без разрешения разработчика продавал в Steam копию игры с другой площадки. Как отмечается, взломать эту схему еще проще, чем классический вариант, но мы советуем запомнить этот факт — он пригодится при обсуждении Denuvo.
Как видим, встроенные механизмы защиты Steam не отличаются высокой устойчивостью к взломам, поэтому издатели часто прибегают к сторонним DRM. Во времена, когда на Западе уже не любили StarForce, а Denuvo еще не была изобретена, гремели форумные войны по поводу другой системы защиты от копирования…
Но об этом мы поговорим на следующей неделе! Во второй части лонгрида про DRM мы вспомним систему защиты, которая практически неизвестна отечественным геймерам, а также перейдем непосредственно к новейшему времени игровой индустрии — с переездом в онлайн, возвращением ненавистной StarForce и появлением Denuvo, вызывающей у нынешних геймеров гудящую и басовитую боль в зубах.