SecuROM/DENUVO
Материал из Lurkmore
НЕНАВИСТЬ! Данный текст содержит зашкаливающее количество НЕНАВИСТИ. Мы настоятельно рекомендуем убрать от мониторов людей, животных со слабой психикой, кормящих женщин и детей. |
Внимание! Статья-детектор! Одним из побочных эффектов от прочтения этой статьи является так называемый butthurt. Если вы начнёте ощущать боль в нижней части спины, следует немедленно прекратить дальнейшее чтение и смириться с фактом, что вы — тупоголовый копираст, обреченный на поражение в борьбе с пиратством. |
Рецепт приготовления защиты, не имеющей аналогов в мире:
- Сливаем вчистую SecuROM Российский хацкерам
- Обижаемся и придумываем хитрый план
- Берём и покупаем малоизветсную, непопулярную, слоупочную [1] защиту VMProtect у шараш-конторы VMProtect Software, расположенной на улице 8 марта
- Покупаем кого-то из разработчиков этого говна
- Придумываем её новое имя, например DENUVO
- Дожидаемся пока производители игр, массово начнут мигрировать на x64 (64 разрядные платформы)
- Втюхиваем им DENUVO за сумму, превыщающую over 100500 стоимости VMProtect
- Выдаем DENUVO за свою собственную вундервафлю, пиарим на каждом углу
- За время, пока взломщики очухаются и начнут лихорадочно допиливать отладчик x64dbg под новую платформу x64, сшибаем деньги у лохов-разработчиков
- ...
- PROFIT!
А что будет дальше:
- Очухавшийся взломщики допиливают отладчики, выпускают инструменты для унвиртуализации виртиуальной машины
- Разработчики-покупатели начинают понимать, что их обманули
- Denuvo Software Solutions GmbH потихоньку разваливается и тянет за собой на свалку истории VMProtect Software, ака повторение печальной судьбы Armadillo (Software Passport)
- Ждём 128-разрядных процессоров и нового «дерьнуво»
Содержание |
DENUVO
После того, как SecuROM эпично разломали в ТР, Sony DADC AG таки выгнала мудаков-разработчиков на мороз. Однако те быстро нашли себе хату на другом конце города Зальцбурга, сделали на оставшиеся деньги там евроремонт и родили на свет новую защиту — Denuvo (Денуво, Дануево, Дерьнуво). ИЧСХ, эту самую Денуву начали позиционировать не как DRM, а как en.w:Anti-Tamper Software. Впрочем, все однозначно сошлись во мнении: как говно ни назови, быть говном оно не перестанет. Желающие опробовать сию НЁХ в своих говнопродуктах нашлись достаточно быстро: FIFA 15, Lords of the Fallen и, чуть позже, Dragon Age: Inquisition. Причем, в лучших секуромовских традициях, все защищённые этой хренью игры люто-бешено глючили и лагали даже на топовых компах. Но не это стало самой главной новостью! Норот, который уже выстроился в очереди на ведущих торрент-трекерах, ожидал кряка к этим трем играм, а его всё не было и не было. Данной ситуацией умело воспользовались разработчики Denuvo, чтобы повыпендриваться и потроллить пиратов, мол, «смотрите, какая у нас, блядь, непробиваемая защита!». Говн в вентилятор решили подбросить и игрожуры с заголовками типа «Защита, которая убивает Ваш SSD», «Непробиваемая Denuvo», «Ubisoft платит хакерам за взлом Denuvo»… Тысячи их! Все это рождало тонны срачей на форумах и в комментах.
Время шло, а кряков так и не было. При таком раскладе дерьнува действительно могла оказаться «крутой защитой»®… Но нет, господа! В конце концов, молитвы были услышаны — китайская хакерская группа 3DM выкатила сообщение на своей страничке, что Denuvo они всё-таки сломали, но им нужно время, чтобы проверить работу кряков. С этого момента у обсчественности пошла противоположная реакция — игрожуры и игросайты начали поливать жидким говном теперь разработчиков Denuvo, мол, «допизделись». 95% народа в этой стране узнавали новости о ходе взлома Denuvo из Гугля и вбросов говна от игровых сайтов. Оставшиеся 5% вели разведку на хакерских форумах, в том числе на краклабе, где, собственно, и отымели разработчиков SecuROM'a. Однако ответа долго не было, что подливало масла в огонь и очень злило геймеров. Наконец у кого-то не выдержали нервы, и в топике было накатано письмо к автору ТР. Последний ответил уже после того, как китайцы из 3DM релизнули свои таблэтки: выкатил, ко всеобщему изумлению, генератор unlock-кодов к SecuROM PA онлайн-активации (НАШ ответ Чемберлену, ага) и разразился кратким описанием новой защиты, обозвав ее не иначе, как «SecuROM Windows 9»™. А ещё позднее выяснилось путём анализа кода дерьнувы и кряков от 3DM, что нихуя к секурому хвалёная заshitа отношения не имеет, на деле это перекрашенный VMProtect - типичная быдлокодерская поделка рузке копирастов. Изменений ноль, только упоминания VMProtect были выпилены. Ничего не напоминает?
Откуда ноги растут
Решила срубить бабла контора Denuvo Software Solutions GmbH в лице двух ЕРЖ — сам (ВНЕЗАПНО Рейнгард Блаукович) (его доля с общака — 70%) и его жена Robert Hernandez с долей общака в 30%.
denuvo.com
Самым первым лулзом, который приключился с только что рожденным брендом, был официальный сайт рейнгардовской конторки. Дело в том, что сайт проработал буквально день-два и… отправился в астрал, где и просушился почти месяц. Настоящая причина анону не известна, но версий без пруфов конспирологи нарожали порядочно:
- Сайт denuvo.com взломали пираты после того, как прошла новость о новой защите (делать им больше нечего);
- Сайт denuvo.com коллективно заDDoSили геймеры после того, как узнали, что в новую GTA V собираются встроить этот трэш, который к тому же ещё и НИВЗЛАМАТЬ!!1 (наиболее вероятно);
- Сайт denuvo.com упал сам по себе из-за говнокодинга (тоже высокая вероятность, кодить-то что сайт, что дерьмо требует рук);
- Админ сайта denuvo.com на следующие утро после корпоратива just for lulz сделал из под рута rm -rf /*, как и в случае, когда рухнули сервера онлайн-активации SecuROM PA после выхода Bioshock. История повторяется.
Забагованность защиты
С учётом всего вышесказанного неудивительно, что после выхода VMProtect 4.0 Денувы бурной рекой потекли жалобы на кучу багов и вылетов игрушек по вине этого анти-тампера. Жалобщиков можно условно поделить на три группы:
- Счастливые покупатели лицензионных копий™, которые начали высирать кирпичи по поводу багов и вылетов игрушек на форумах;
- Сами разработчики Lords of Fallen, которые признали, что «Denuvo — забагованное дерьмо» (пруф просран);
- Взломщики на том же краклабе, которые пачками уссыкались из-за того, что Denuvo сам себе обламывает антиотладку ввиду критических ошибок при проектировании виртуальной машины.
DENUVO = VMProtect
В очередном кряке 3DM, на этот раз для Mad Max, кто-то догадался тулзой ProtectionID проверить файл 3dmgame.dll. И что бы вы думали - там используется VMProtect, только с хуя бы ему взяться в кряке от денувы?
Тут и всплыло: Denuvo оказался банально перекрашенным VMProtect. Это стало очевидным, после сравнения виртуальных машин обоих продуктов и по наличию зашифрованной dispatch-table. От Lords of the Fallen до Just Cause 3, таким образом, стояла VMProtect 2.0 (2.x). Кроме копирования виртуальной машины, Denuvo полностью копирует у VMProtect обфускацию кода. Учитывая, что этот самый дерьмопротект кулхацкеры выносят на раз-два, денува могла быть запросто попячена. Но, начиная с Just Cause 3 Блаукович понял, что скоро будет тибериумный реверсинг два, если не начать что-то менять в своём высере. В итоге выкинули dispatch-table из виртуальной машины, переместив delta-смещения в ленту p-code, соответственно тем самым мы имеем перед собой уже современный VMProtect 3.x., а в таком виде он уже нe настолько прост во взломе. Но взлом вполне возможен, ждём новостей от китайцев.
Стоит, кстати, отметить Assassin's Creed: Syndicate - он использует как раз таки VMProtect. А почему не Denuvo, он же ведь непробиваемый?! Очевидно, что в Ubisoft знали хитрый план Блауковича (или просто задушила жаба) и решили не переплачивать за нашумевший бренд. Конечно же, от "взлома за пару минут" это его не спасло - 3DM и CODEX за пару дней удолили защиту к такой-то прабабушке.
У кого свистнули идею авторы самого VMProtect?
Ни для кого не секрет, что StarForce изначально своровала технологию защиты у CD-Cops. Есть обьективное мнение, что и VMProtect Software поступили так же - архитекутра построения виртуальной машины невозбранно спизжена с SolidShield 2. Таким образом, это доказывает, что за последние несколько лет ничего принципиально нового реингардовской конторкой придумано не было. А заодно и заставляет невольно улыбаться, видя, как борцы за защиту копирайтов сами всё копирайченное и тырят друг у друга.
Жертвы реингардовсокй конторы
GTA V
«С Denuvo или без Denuvo??» — единственный вопрос, который будоражил неокрепшие умы любителей немножко поугонять тачки и пострелять копов. Новостей и вбросов в пользу положительного и отрицательного ответов было примерно поровну, а истина, как мы знаем, располагается где-то посередине. Масла в огонь подливала и сама R*, которая задолбала переносить релиз (осень 2014 >> январь 2015 >> март 2015 >> апрель 2015), то есть вполне вероятно, что всё это время Блаукович банально пилил напильником (ГОСТ 1465-80) денуву для будущих обладателей игрушки. Нелишним будет добавить сюда и тот забавный факт, что буквально через два дня после создания вот этой темы на этом сайте от сами знаете кого как гром среди ясного неба появляется новость о переносе релиза на 24 марта!
В итоге GTA V таки оказалась без Denuvo, но попердеть месяцок в лужи нищебродам в ожидании таблетки пришлось, пока 3DM не выпустили свой бажный кряк, от которого гэтэашечка часто вылетала по поводу и без. А потом её зарелизило старичьё из RELOADED и на этом её и забросило. Сделали они это в самый нужный момент, аккурат перед обновлением Ill-Gotten Gains, после которого у хвалёной оптимизации GTA V наступил былинный отказ - RELOADED либо забили релизить дальнейшие обновления, поскольку они касаются в основном мультиплеера, который всё равно говно и полон читеров с кучей модов, либо обломали о подтянутую защиту зубы, либо, глядя на отзывы, просто брезгуют. Тем не менее, издатель Take-Two совершенно официально оказался в ярости из-за пользовательских модификаций и хаоса, порождаемого ими в онлайне, и объявил им войну. Де юре использовать их в одиночной игре они не запрещают, де факто же изменения в коде нацелены на блокировку любых модификаций, независимо от режима игры. Начался пиздец, баны схватывали даже за банальную новую машинку в сингле, после моддеры окончательно сорвали покровы: в обновлении Ill-Gotten Gains камнезвёзды насрали тремя мегабайтами абсолютно бесполезного кода, призванного запутать этих самых моддеров. Размежевать сингл (открытый для моддеров) и мультиплеер (защищённый от моддеров/читеров) на разные исполняемые файлы R*, естественно, тямы не хватило. В итоге лагами давятся все, а читеров вроде даже прибавилось. Попытки сделать отдельный мультиплеер с блэкджеком и шлюхами (FiveM), в котором намеренно включили проверку сошал клаба на лицензионность, вылились в баны игровых аккаунтов главразраба NTAuthority и других соавторов, а потом ещё к нему домой заскочили частные детективы с телефоном, на другом конце провода которого представитель Take-Two потребовал УДОЛИТЬ!!1 FiveM или встретиться в суде.
Некие аноны разносили слухи, что игра на самом деле использует защиту от ребяток из малоизвестной Arxan. Они же заявили, что грядущий Call of Duty: Black Ops 3 тоже будет арханутым. Так и не вышло - вышедший 6 ноября Black Ops 3 уже пятого был распатронен теми же самыми RELOADED, в котором не оказалось ничего, кроме привязки к стиму. А что ви таки хотели от жадного Бобби Котика?
Lords of the Fallen
« |
Another one bites the dust. Reset that timer plz. | » |
— CPY |
Признав сабж «забагованным дерьмом», создатели/издатели игры, тем не менее, отказываться от него не стали - даже были рады, что их недо-Dark Souls никто не может спиратить, а счётчик девственных дней денувки на официальном сайте настолько намозолил глаза кому следует, что 27.07.2015 макаронники из CPY эпично, но нежно предложили взять Блауковичу в рот хуй.
Алсо, продалась игра относительно хреново. Казалось бы, при чём здесь DRM...
Dragon Age: Inquisition
Тот самый DA:I, потрёпанный китайцами, CPY окончательно повесили за ноги 6.10.2015. Релиз содержит все DLC, включая Trespasser от 08.09.2015, и таки старую версию сабжа. Мелочь, но приятно. Окончательно все намёки на защиту убила сама EA своим триалом драгоняги - теперь Keep'ом можно невозбранно пользоваться сколько угодно нахаляву и сохранки переносить на пиратку.
Batman: Arkham Knight
29.07.2015 эту вещицу, сырую настолько, что её даже сняли с продажи в Steam вскоре после выхода, препарировали те же CPY. Самое смешное, что дурьнуво софтвер солюшенз якобы улучшили её, а издатель установил максимальные опции защиты. Видимо, столь скорое лишение девственности несчастного Бэтмена настолько обидело издателя, что первый же патч к игре, вышедший 2-го сентября, нёс в себе совсем вообще передовую бля™ версию Denuvo, которую всё ещё не вскрыли. Забавно тут ещё и то, что патч, помимо денувы (а может, и из-за неё), привнёс столько багов/лагов/счастья всем и сразу (это если мало было того говна, что было в первом релизе), что даже обладатели лицензионки начали массово откатываться на предыдущую версию игрушки.
В конце концов вместо хоть какого-нибудь нормального патча WB Games просто в стиле "на отъебись" дали бесплатно все прошлые игры по Бэтману. Опять же, казалось, причём тут DRM..
Battlefield: Hardline
13.08.2015 игру успешно дефлорировали всё те же хитрые итальянцы. Это первый тайтл, изнасилованный ими на платформе Origin. Позже CPY расчухали, что баги с сигнализацией на 5-м уровне и с дверью на 8-м — их косяк, и выпустили кряк-фикс. Впрочем, без ложки дёгтя опять не обошлось, ибо спираченная игра конфликтует с запущенным обрыгином. Хорошо хоть с быдлофилдом ни у кого проблем не было, если, конечно, исключить тот факт, что батла скатилась чуть менее, чем полностью в колду.
Существует мнение, что Denuvo в Hardline добавляли только ради читеров, а пираты тут вообще не при делах. Дело в том, что после Battlefield 2 дальнейшие игры серии построены исключительно в расчёте на онлайн-мультиплеер (даже LAN выкинули, и рубить бабло стало лучше и веселей). Вследствие чего жадные разработчики одиночную кампанию делают через жопу, в самый последний момент — стоит ли говорить за качество?! Естественно, большинству плевать на одиночную кампанию. А вот в пиратку без ключа на оффсерверах не поиграешь, это вам не WoW.
FIFA 15
CPY аккурат перед выходом FIFA 16 из последних сил поиздевались над FIFA 15, защищённой старой версией сабжа, что содержит всё ту же фирменную уязвимость. В принципе, не будь разрабам и/или издателям похуй, они могли бы обновить защиту FIFA 15 до последней версии, бороться с которой у CPY до сих пор кишка тонка. А так, поезд ушёл. Кстати, китайцы из 3DM некогда поломали данный тайтл, но не осилили обновы. Релиз от CPY - самый свежий, так что его любителям ногомяча и рекомендуется качать.
Mad Max и Metal Gear Solid V: The Phantom Pain
Эти игры (заодно и заново высранный Arkham Knight) обмазаны новой версией Denuvo, в которой эксплоит, найденный и использованный CPY для эмуляции защиты, устранили. Школьники плачут в платочек и обещают предкам хорошо учиться ради покупки игры, а терпеливые люди ждут кряков от китайцев, благо ждать оказалось недолго. Китайцы, правда, по-дженельменски уступили взлом обновлённого Бэтмана CPY, которые до сих пор нихуя ничего с денувой без того самого эксплоита сделать не могут.
В итоге первая версия «кряка» к MGSVPP выпущена 08.09.2015, сразу же для самой свежей версии — 1.005 (правда, некоторые пользователи в интернетах утверждают, что кряк использует старую версию — 1.001, ведь это последняя версия игры, которая имела проблемы с процессорами, не поддерживающими SSE4.1). Из «прелестей»: гарантированный краш в прологе, обходить который пока что предлагается 1%-м сохранением, и поддержка лишь Windows 7. Лиха беда начало, всего через день вышел кряк, способный запускать игру на Windows 8/10 (правда, владельцы ведер на AMD и Core2Duo могут идти нахуй, потому как без поддержки SSE4.1 крякнутый The Phantom Pain запустить не смогут). Через несколько недель выяснилось, что китайцы встроили в кряк вирус, который со временем заменяет стартов страницу браузера на какой-то gangnamgame. Энжой ер эйдс. Заодно с Митол Гиром 3DM ломанули и Макса, пока только под Windows 7. Короче, рано ещё попкорн выбрасывать. Качество «кряка» к Mad Max улучшилось: 13 сентября GlowStorm порадовал общественность двумя новыми версиями, но теперь с багом карты, жуем попкорн и ждем AMD-фикса MGS:TPP.
FIFA 16 и Just Cause 3
Содержат ВНЕЗАПНО последнюю версию сабжа, в случае с фифой ещё и намотанную поверх защиты Origin. Никем пока не взломаны.
Кстати
- В кряках, которые реализовали CPY и 3DM, был допущен косяк, который все благополучно повторили: нигде не говорилось явно, что защите нужен предустановленный Steam-клиент. Естественно, без него ничего не работало. Данная неточность была выявлена и пофикшена краклабовцами, которые, в качестве альтернативного решения, предложили добавлять в реестр Windows соотвествующую запись.
- Все версии защиты выпускались исключительно для платформы x64, на которой почти нихрена не развита отладочная индустрия. Соответственно, игры с денувой имели только 64-разрядный исполняемый файл. Вот тут и заложена главная причина непробиваемости дерьнувы - пока 64-битный отладчик не запилен окончательно, можно запросто грести бабло с издателей, сея мифы об охуенности своего дерьма и радоваться относительной безопасности. Пока что...
- К несчастью для Рейнгарда Блауковича, выпуск Denuvo дал ощутимый толчок в развитии проекта open-source отладчика x64dbg. Последние снапшоты специально затачиваются под денувку. А там и тибериумный реверсинг 2 не за горами.
- Автор VMProtect, по кличке «Дерматолох», отказался дискутировать на своём форуме по вопросу о полном сходстве виртуальных машин Denuvo и VMProtect. Некоторые личности утвеждают, что сам «Дерматолох» продался в анальное рабство Рейнгарду. Однако-с, в любом случае, это знаковый момент, когда, якобы борец™ с пиратством «Дерматолох» позорно заткнулся и не смог ничего ответить по предьявленным фактам.
- «de nuvo»™ — это торговая марка фирмы, которая торгует косметикой и прочими бабскими радостями. Nuff said.
- На рутрекере, после обьявления пожизненной блокировки появлилась тема, посвященная кейгену для онлайн-активации секурома и немножко про взлом денувы.
Из раздела мифов и домыслов
- DENUVO — новая DRM. На самом деле Денува DRM НЕ является. Лицензия защиты распространяется только на противодействие отладчику и сокрытие исходного кода от реверс-инжиниринга (анти-дамп, обфускация, виртуальная машина). Денува не умеет проверять диски, проводить онлайн-активацию, и даже не имеет своего графического интерфейса, как когда-то всё это было в SecuROM.
- …Что не помешало CPY убрать простенький Steam Stub, наложенный поверх Denuvo, из исполняемого файла Batman: Arkham Knight. От необходимости этот самый Denuvo эмулировать в steam_api64.dll удаление стимовского DRM отнюдь не избавило. Фактически, он выполняет функцию защиты от копирования, а конечному пользователю по барабану, как его называют сами разработчики. Так что успехов в дальнейших исследованиях данной вундервафли.
- DENUVO — это преемник StarForce. Феерический бред, никакого отношения австрийская Denuvo Software Solutions GmbH и рашкинская Protection Technology друг к другу не имеют. Как уже неоднократно написано выше, защита использует часть технологий SecuROM, так что прямая линия идёт только к Sony DADC AG (что, в принципе, неудивительно). Единственное, что достойно упоминания: косвенное отношение к созданию DENUVO может иметь TagesSAS[2]
- DENUVO портит SSD. Исчерпывающих даннных с развернутыми ассемблерными листингами шифрования и дешифрования файлов во время работы никто до сих пор не приводил. Доподлинно доказан только факт медленной работы защищенного приложения из-за обилия обфускации, вызовов виртуальной машины, плохой оптимизации, пожирания памяти выделенными страницами в 4096 байт, а также загаживания OEP. Всё это усугубляется особенностями платформы x64 (в отличие от x86) — более высокие требования к CPU (в частности, необходимость большого обьёма внутреннего кэша) ради обеспечения достаточной скорости декодирования веток[3].
- Screen Pass™ Remote Encryption Toolkit - ARET. Непонятная хрень на вторичном суб-домене сайта денувы.
- Denuvo не снижает производительность в играх — относительно свежий вброс от PR-манагеров денуво гмбх, нацеленный на полоумных дебилов и детишек. На деле фраза представляет собой натуральный взаимоисключающий параграф в концентрированном виде:
- Спискота из убийственных фактов
- DENUVO использует виртуальную машину(VM), которая сама по себе один большой сл-о-о-о-упо-о-о-к;
- 64-битная разрядность, которая сама по себе ещё больше нагружает виртуальную машину (вдвое больше регистров надо сохранить в стеке, на каждый примитив валится дополнительная нагрузка по оперированию с регистрами, разрастание лент p-code до невероятных размеров, увеличение количества багов в геометрической прогрессии);
- По количеству отводимого места в исполняемом файле виртуальная машина DENUVO равна примерно четырем виртуальным машинам SecuROM'а. Однако-с, оптимизация-с!
- Безусловные переходы (JMP) для одной или небольшой группы asm инструкций - дебильная и давно не актуальная фича VM Денувки, которая досталась ей в наследство от VM Секурома 8-ой версии. То, что все JMP легко убираются при трассировке даже самым примитивным фильтром, который пишется на коленке за 5 минут, австрийские разработчики, которые сидят в Европе, видимо, до сих пор не в курсе;
- Зато для центрального процессора (CPU) тьма денувьих безусловных переходов - это настоящий кошмар! Мурыжить он их будет ещё дольше, чем брутфорс MD5 хэша;
- Но съехавшему с катушек Рейнгарду этого показалось мало, и он решил перевыпонить план по уменьшению скорости исполнения кода (хотя в том же Секуроме старался блюсти обратное): были добавлены дублирующеся ветки исполнения кода с условными переходами (conditional double-branches ). Смысл сей фигни заключается в том, что Денувке насрать на флаги CPU и, соотвественно, на то, выполнится условный переход или нет - в любом случае код будет одним и тем же. Стоит ли говорить про необоснованное разрастание объёмов программы и времени её исполнения?
- Засирание памяти приложения страничками в 4096 байт. Коих over 2000 штук. Самое печальное, что исполняемого кода там с десяток инструкций, из которых реально полезны от силы одна или две;
- Изнасилование оригинальной точки входа (OEP) и CPUID для шифрования;
- Создание лишнего GUARD-потока, который на протяжении всей игры в цикле трахает Ваш центральный процессор (на самом деле он сторожит целостность одной низкоуровневой функции, чтобы нельзя было присоединиться отладчиком). Толку от этого только абсолютно никакого!
- Плохая оптимизация. Для статических функций Денувы, которые открыты, компилятор включен с опцией «Индусский код».
- Вообще это доказано официально на том же краклабе и очевидно любому техническому специалисту, который хоть немного разбирается в низкоуровневом программировании.
Примечания
- ↑ В здравом рассудке виртуальную машину лучше не использовать - слишком уж медленно выполняется исполняемый код защищаемой программы
- ↑ Журнал «Хакер» #199. Заметка про DENUVO в секуромовской статье
- ↑ Длина инструкций выросла! В некоторых случаях более, чем в два раза. Также исчезла условная адресация, которая была в x86-режиме. Подробно обо всех этих прелестях можно прочитать в книге Криса Касперски «Искусство Дизассемблирования», в которой отладке программ на x64 посвещяна целая глава. Бесплатно, к примеру тут