Твое время вышло, Валера
29 ноября в Steam увидела свет игра City Patrol: Police с новой защитой Valeroa. Разработчики защиты утверждали, что она практически не поддается взлому и по всем параметрам лучше печально известной Denuvo. Однако, хакер Steam006, взломавший ранее LiS: BtS, Watch Dogs и др., посчитал иначе. По его словам, на взлом защиты было потрачено 20 минут.
Эта "DRM", должно быть, какая-то шутка. Надеюсь, разработчики не платили за нее.
- В статье на Tom's Hardware писали, что Valeroa "невозможно взломать".
- Да, я прочел статью и после этого обратил на нее свое внимание. Взлом занял у меня около 20 минут.
Валера, настало твоё время. DENUVO будет вытеснена новой защитой.
Не прошло 4 года, как "супер-современная" защита DENUVO дала "трещину". Для сравнения, SecuROM продержался гораздо дольше - около 14 лет. Последняя версия SecuROM (8.56) вышла после первого релиза DENUVO и содержала обфускацию алгоритма RSA для противодействия кейгену 80_PA (несмотря на это, всё равно взломана).
Использовать на всю катушку фейлы DENUVO, решили очередные борцы с пиратством (поменяем SafeDisk от Macrovision Corp., TagesSAS с SolidShiel, SecuROM, Armadillo, которые в гробу перевернулись от услышанного). Встречайте - Valeroa. К сожалению (или к счастью), Google не знает о планах ребят, срубить немного бабла, поэтому выдает инфу про певицу Валерию, что несколько доставляет:
Первая игра, которая использует Валеру - гоночный боевик студии Caipirinha Games, под названием City Patrol: Police. Игра вышла в Steam. Разрабы Валеры уверяют, что Валера не будет вмешиваться в код игры, и не будет требовать драйверов для своей работы. Данный подход напоминает древние версии SecuROM / SolidShield, которые изначально не вносили изменений в код игры и шарашили без драйверов, но при этом ломались без особых усилий. Собственно это и породило необходимость вмешиваться в код игры с применением виртуальных машин. Т.е. получается забавный круговорот.
Отметим что на exelab уже заинтесовались Валерой, так что в самое ближайшее время возможно ожидать самые интересные технические подробности работы новоиспеченной защиты, а также её взлома в известном топике.
Wasteland: Не только прародитель Fallout, но и ещё гениальная экономия места и защита от пиратства
Те, кто хоть чуть-чуть увлекаются историей Fallout знают что игра была создана по мотивам Wasteland, игры 1986 года, продолжение которой вышло лишь в 2014 году, а триквел - в 2019 году.
Игра рассказывала об отряде Пустынных Рейнджеров - стражей порядка пост-апокалиптических пустошей Аризоны и Невады. Сеттинг игры был необычным для тех времён. Ведь, никто тогда пост-апокалиптические игры толком никто не делал, а RPG были преимущественно фентезийными.
И тут некогда Великий и Ужасный Брайан Фарго решает создать "Пустоши: Приключение в Пост-Апокалиптической Америке".
А какая проблема при создании игр в те времена? Пираты и недостаток места на дискетах. Если первые похоже существовали всегда, то вторая проблема ныне устарела.
Итак, если хочется создать РПГ, нужен текст. Если нужно создать хорошую РПГ - нужно очень много текста. Но весь текст просто напросто не умещался на дискету!
Что же тогда предпринял Брайан Фарго? Неужели придётся вырезать половину текста, и тем самым ужать повествование? Другие может быть сделали и так, но вот Interplay предприняла (по моему мнению) гениальное решение проблемы.
В наборе с игрой шли 3 книги - Книга подсказок (Clue Book), Руководство по выживанию на Пустошах (Wasteland Survivial Guide) и Книга параграфов (Paragraph Book). Первые две книги давали наводки и помощь в прохождении игры. Но нас интересует Книга параграфов. Чем же она так отличилась? Тем, что она позволило избавить игру от большей части текста, перенеся его на себя.
Суть работы книги параграфов такая: В определённый момент в Wasteland вы приходите в определённую локацию, и игра выдаёт сообщение вроде такого - "Прочитайте параграф #21". Игрок должен будет открыть книгу, найти этот самый двадцатый первый параграф и узнать что твориться вокруг игрока, кто все эти люди, где он находится и что желательно сделать. То-есть через параграфы раскрывался лорный аспект игры, а также часть сюжета.
То, что книга экономила место - это конечно здорово! Но что же делать, если игрок решит прочесть книгу раньше чем этого потребует игра? Вдруг игрок узнает то, что пока по сюжету знать не должен? Но и эту проблему решили. Параграфы перемешали и добавили туда ложные параграфы, чтобы запутать игрока, который хочет узнать сюжет до прохождения. Например, был параграф в котором кто-то летит на Марс а также был параграф в котором кому-то не понравился Wasteland, и он хочет поиграть в Bard Tale, другую игру от создателей Wasteland.
Ну, а почти в самом начале игра настоятельно рекомендует читать тогда, когда это надо. Для пущей эффективности в начале книги есть параграф в котором обаятельная блондинка моется в душе, а потом направляет uzi и говорит не читать, если этого не требуется.
И таким образом игрок должен был читать определённый параграф, когда этого потребует игра. Сидеть за своим IBM с книгой на столе. Лично мне это напоминает т.н "интерактивные книги".
Вот такая простая, но гениальная экономия места. Однако помимо экономии места такой способ создал защиту от пиратов не хуже всяких Denuova. Ведь как ты узнаешь где ты находишься и куда тебе нужно двигаться, если у тебя нет этой самой книги параграфов в которой содержится требуемый параграф. Интернетов всяких в те времена тоже не было.
Однако Wasteland уже больше 30 лет. Эти Книги параграфов уже являются раритетом, и всяко только за такую книгу несколько сотен баксов потребуют. Однако InXile Entertainment (нынешние владельцы Wasteland и Bard Tale) решили что современные игроки должны ознакомиться с классикой. В обновлённую версию ввели возможность заменить классические гиф-изображения на более качественные но неанимированные картинки и поставить звуковое сопровождение.
Книгу параграфов было принято ввести в саму игру. И когда игра требовала прочитать параграф, нужно было нажать на это сообщение, и этот параграф появится в самой игре. Мало того, его даже зачитают вслух... пускай и на английском.
Однако специально для ценителей "классики" и тех, кто хочет изучить историю, в папке экстра помимо всех гиф-изображений и парочки концепт-артов были сканы этих самых трёх книг в формате PDF.
Как говорится, "Всё гениальное - просто".
Two Point Hospital отказалась от защиты (защиты ли?) Denuvo
В Two Point Hospital заменили программное обеспечение Denuvo для защиты от несанкционированного доступа службой DRM от Steam
Two Point Hospital – впечатляющий бизнес-симулятор с одним неудачным решением: он поставляется в комплекте с противоречивым программным обеспечением Denuvo для защиты от несанкционированного доступа. Однако эта проблема была, по-видимому, недолговечной. Менее чем через неделю после запуска разработчик удалил Denuvo через патч Steam.
Новость была замечена на Resetera (спасибо RobotBrush). Этот патч для удаления Denuvo будет доступен в бета-режиме до того, как он будет применен к полной игре. Система будет заменена стандартной службой DRM Steam.
«Прошло уже 6 дней как мы выпустили Two Point Hospital, и мы невероятно взволнованы вашей любовью и поддержкой того, что мы делаем», – говорится в обновлении Two Point Studios. «Так что огромное СПАСИБО, от всех нас здесь, в Студии. Мы не стремимся почивать на лаврах, мы усердно работаем над улучшением игры, и мы готовы выпустить исправление нескольких проблем, которые возникли в последние несколько дней.»
Вне стандартных разочарований DRM Denuvo вызывает споры из-за перенагрузки процессора. Denuvo обвинили в записи чрезмерного объема данных на жесткие диски, что может сократить срок службы твердотельных накопителей. Denuvo в свою очередь уже давно отрицает эти претензии.
Мы перечислили изменения в Two Point Hospital ниже. Игра доступна для ПК.
Сбои
Исправлен сбой при загрузке, вызванный сообщением, что компьютер не поддерживает 720p
Исправлен сбой при загрузке, вызванный недействительным часовым поясом
Добавлен лог для отслеживания дальнейших сбоев
Сохранения
Исправлено большинство сбоев загрузок (это в основном вызвано гостевым тренером или строением комнаты. Этот вопрос чаще всего наблюдался в Университете Mitten)
Исправлены различные случаи порчи сохранений
Исправлены откаты состояния персонажей, которые были сохранены больными, чтобы они могли продолжать лечение
Искусственный интеллект
Исправлены проблемы персонажей, получающих значок ошибки навигации над головой без причины
Исправлено слишком частое изменение поведения у персонажей
Исправлено странное поведение хирургов, когда их прерывают в операционной
Исправлена случайная телепортация персонажей из комнат
Исправлено перемещение VIP-персон после загрузки сохранения
Другие
Исправлено нарушение позиционирования, когда у вас есть часы над огнетушителем
Исправлена случайная проблема, вызванная перемещением предметов в проект
Исправлена ошибка локализации на экране настроек (для немецкого, китайского и польского языков)
Denuvo заменён (и слава Габену) на Steam DRM
Нужно больше DENUVO! Теперь в борьбе с читерами. А получится ли??
Согласно проведенным исследованиям Британских, ой! нет! не будем позорить их доброе имя! Итак, согласно проведенным исследованиям Нидерландских ученых, работающих в компании Irdeto: 61% геймеров в Соединенном Королевстве и Германии плохо относятся к читерам. Очевидно, что остальные 39% Германских и Английских игроков - это были сами читеры. Неплохое соотношение, да.
Тем не менее, руководствуясь данном логикой и совсем немного - получением денежного профита со всей 100% части геймеров в недрах Irdeto родилась гениальная идея срубить новую анти-чит систему Denuvo Anti-Cheat в рамках вступления в НАТО коалицию ESIC (Esports Integrity Coalition). Товарищ Блаукович, выступая на очередном съезде данной организации сказал буквально следующее:
“We must continue to combat cheating in both online multiplayer games and Esports, and our membership of ESIC is a symbol of our commitment to protecting legitimate players from the negative impact of cheating.” (Reinhard Blaukovitsch, Managing Director of Denuvo, Irdeto)
При этом зал встретил бурными овациями слова товарища Блауковича. Первый секретарь ESIC, товарищ Смит горячо поддержал предыдущего оратора своим высказыванием:
“It is always wonderful to welcome new members into the Coalition. The addition of Denuvo will support our efforts to keep Esports safer against the threat of cheating, match manipulation and betting fraud.” (Esports Integrity Commissioner Ian Smith)
Комплексное решение анти-читинга, по словам разработчиков денуво, должно быть обеспечить 100% (ох! лол) контроль целостности данных игры и предотвратить их изменение.
Небольшая аналитика для нового тренда DENUVO, и что по существу из этого может выйти.
*******************************************************************************************
На самом деле мало кто помнит, но создатели DENUVO изначально позиционировали своё детище, как систему против читеравства (!!!). Anti-tamper - это покрытие критичных кусков кода игры от постороннего вмешательства.
Anti-tamper сольюшн, как анти-читер сольюшн.Достигалось это тем, что критичный код помещался под виртуальную машину (VMProtect, и последующий CPS style), а переменные в игрушке разбавлялись дополнительным защитным кодом DENUVO (туда встраивалась инструкция CPUID для симуляции проверки лицензии).
Ввиду того, что VMProtect был скомпроментирован не один раз, а так-же существуют рабочие способы патчинга самого VMProtect и кода DENUVO, защита на таком подходе представляется малоэффективной. Код всё равно найдут, отреверсят и изменят, как бы разработчики не старались.
Постоянный контроль переменных в игре, как анти-читер сольюшн. Все (ну, или большая часть)отлично знают и помнятArtMoney. Допустим у нас есть 1 000 голды - из неё нужно получить 1 000 000 голды. Нет проблем - вбиваем значение 1 000, ищем в памяти игрушки, отсеваем, находим нужное, правим на 1 000 000. Всё! Экономика встала с колен, можно клепать сотнями мамонт-танчики, "Кировы", купить дорогущие артефакты и выиграть игру (this is no cow level). Но тут появляется DENUVO и говорит: "эй! пацачник, а теперь расскажи мне, как ты заработал свой первый миллион, когда у тебя пять минут назад все харвестеры сожрали песчаные черви и нет ни одного перерабатывающего завода?" ... На самом деле,эта шутка с большой долей правды. Начнем с того, что защита может шифровать данные в памяти, и тогда без анализа кода, который манипулирует этими данными, сложно найти истину. Впрочем:
1. Не забываем, что VMProtect и виртуальная машина CPS были уже скомпроментированы множество раз.
2.Алгоритм шифрования переменных (денег, голды, жизней, другого профита) не может быть намного сложнее, чем какой нибудь тривиальный XOR(исключающее или).
3. Сам алгоритм контроля из-за многопоточного взаимодействия (всякие EnterCriticalSection, LeaveCriticalSection и InitializeCriticalSection) должен работать мгновенно и не иметь лишнего мусора.
В современных играх значения переменных будут меняться очень очень быстро и сильно варьироваться, т.е. для принятия решения назвать геймера читером DENUVO должен иметь крайне веские основания и железные факты, которые требуется собрать за достаточно длительный промежуток времени (например, полное отсутствие харвестеров и перерабатывающих заводов, а так-же иных источников поступления денег).
Что имеем в итоге:
1. Если в логике принятия такого решения не учитывать все факторы, то от некорректной работы страдать будут честные геймеры (например, DENUVO забыла, что Вы построили 10 научных лабораторий, которые при продаже дали Вам 1 000 000 голды)
2. Ввиду сложности и многогранности реализации такой процедуры процедуры, защитный код проще найти и нейтрализовать (за один заход требуется обратиться к большому количеству данных).
3. Как показывает практика, DENUVO не особо заботится о защите переменных - на изменение/подделку Вашего HWID для лицензии (данные в системных структурах Windows - KUSER_SHARED_DATA, Process Enviroment Block...) защите, по факту, как-то по барану и бубну тоже, что доставляет:
Черный список приложений (исполняемых файлов читов), как анти-читер сольюшн. Собственно самый древний и боянистый способ контроля, известный ещё с ранних версий SecuROM (ЦАРСТВО НЕБЕСНОЕ ЕМУ!), и даже ещё раньше.Вернемся к многострадальному ArtMoney. Как там называется файл, который запускается на исполнение? ArtMoney.exe Отлично! Тeперь, любой, у кого в списке процессов ArtMoney.exe, будет навечно иметь клеймо 'читер'. Эм! Ну в смысле для DENUVO :))) Кроме списка запущенных процессов, которые обычно любая защита получает с помощью:
HANDLE CreateToolhelp32Snapshot(
DWORD dwFlags,
DWORD th32ProcessID
);
используются типичные WinAPI для поиска окошек:
HWND WINAPI FindWindow(
_In_opt_ LPCTSTR lpClassName,
_In_opt_ LPCTSTR lpWindowName
);
HWND WINAPI FindWindowEx(
_In_opt_ HWND hwndParent,
_In_opt_ HWND hwndChildAfter,
_In_opt_ LPCTSTR lpszClass,
_In_opt_ LPCTSTR lpszWindow
);
Ввиду того, что производители читов обожают разукрашивать свои творения, впихивая туда тонны музыки и картинок, юзаются более продвинутые методы определения типа парсинга ресурсов.
Некоторые особо продвинутые инжектятся динамической библиотекой (DLL) в игрушку, и управляют количеством профита из неё. Тогда в дело вступают такие WinAPI функции:
BOOL EnumProcessModules(
HANDLE hProcess,
HMODULE *lphModule,
DWORD cb,
LPDWORD lpcbNeeded
);
DWORD WINAPI GetModuleFileName(
_In_opt_ HMODULE hModule,
_Out_ LPTSTR lpFilename,
_In_ DWORD nSize
);
Что в итоге:
как видите, тонкости работы данного метода давно известны и превосходно документированы. Irdeto не придумает здесь ничего нового. Черные списки можно контрить. Функции WinAPI перехватывать и возвращать подложные данные. Короче, боян.
Контроль текстур, как анти-читер сольюшн. Пожалуй, один из самых распространенных методов читерства (в некоторых случаях, самый главный) в онлайн-играх. Текстуры, мапхаки...
Завязан на изменении файлов текстур (DSS), изменении логики работы рендера и тд. Как уже было неоднократно сказано - у DENUVO, на самом деле, очень плохо обстоят дела с контролем целостности себя и, тем более, исходного кода игрушки. В текущем виде защита может делать проверку целостности файлов в памяти и на диске, но здесь очень много нюансов, которые мешают выполнять данные защитные функции эффективно (например, всё тот же перехват WinAPI, тонкости работы DirectX/Vulkan/OpenGL). Ниже представлен пример работы защищенной DENUVO игры Unravel с текстурами, как видите, данная часть кода абсолютно открыта и свободно просматривается в дизассемблере IDAPro:
Что в итоге: понятно, что всё зависит от реализации. Но, вряд-ли в Irdeto смогут сделать эффективную защиту против текстурохаков не решив старые и всем известные проблемы самой DENUVO.
Что ещё можно добавить к вышесказанному? Разве что, напомнить о существовании всяких FairFight, PunkBuster, VAC (Valve Anti-Cheat) ... тысячи их!
Несмотря на долгий срок существования и солидный опыт в борьбе с читерством, сама проблема решена не была. И тут появляется DENUVO ... а мы посмотрим, что из этого получится.
p.s. данная статья была написана для анализа деятельности DENUVO и компании Irdeto.
Google вводит DRM-защиту на Android
Google представила функцию, которая добавляет строку метаданных ко всем файлам APK (файл приложений Android), когда они подписываются разработчиками.
Неподписанные во время финальной сборки приложения нельзя установить, поэтому все новые программы, созданные с использованием самого свежего механизма подписи APK, будут иметь встроенный в них небольшой кусок DRM-защиты, сообщает comments.ua.
И в один момент очередная версия Android не станет устанавливать приложения, не имеющие строки DRM-защиты.
Очень многие ненавидят технологии DRM (Digital Rights Management или Управление цифровыми правами) из-за того, что разработчики и издатели постоянно злоупотребляют ими. DRM, как правило, означает, что пользователя заведомо рассматривают в качестве вора. Отличным примером является работа клиента Origin с регулярными проверками в Интернете для запуска любых игр, изданных EA. Другим примером могут служить различные потоковые сервисы, которые запрещают слушать или смотреть в некоторых странах даже купленные музыку и фильмы.
Google сможет за счёт внедрения DRM определять как, где и когда пользователи будут использовать приложения и службы Android. Но пока объяснение более тривиальное: компания добавила эти метаданные, чтобы пользователи могли купить приложение у любого разрешённого дистрибьютора, и оно безопасно работало с такими функциями Google Play, как семейная библиотека и подписки.
Android сможет считывать метаданные, автоматически добавленные в приложение, и удостовериться, что эта версия из легального источника, одобренная разработчиком. Если проверки пройдут, программа будет добавлена в библиотеку Google Play. Пользователь сможет обновлять такое ПО через Google Play, использовать Play Games, делиться приложением с людьми из семейной библиотеки. И разработчик может в любой момент изменить метаданные с помощью нового ключа подписи, который завершит поддержку текущей версии и создаст новую запись в Google Play.
Google называет две причины этого шага. Первый несколько беспокоит: для более сильного контроля разработчиков над использованием их приложений. Здесь определённо есть потенциал для злоупотреблений. Второй относится к тем пользователям Android, которым приходится обмениваются приложениями, используя сторонние каналы распространения. Это не означает, что эти люди крадут приложения. Это означает, что они могут заплатить через портал, а затем использовать пиринговую сеть, чтобы получить копию, используя как можно меньше платного трафика.
Вполне возможно, Google использует сомнительные объяснения, чтобы оправдать ужесточение контроля над распространением ПО. Скоро во всех приложениях появятся DRM-информация, без которых установить их будет невозможно, не прибегая ко взлому операционной системы или другим ухищрениям.