Обновить

Pragmata взломали за два дня до релиза. Шесть слоёв защиты Denuvo и как их обходят через гипервизор

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели33K
Всего голосов 43: ↑35 и ↓8+33
Комментарии79

Комментарии 79

Аж поплохело на моменте, когда перечислялись все уровни защиты для отключения

Что вам не понравилось? Поделитесь?

Просто пришло осознание того, насколько много защиты нужно отключать. Подумал о том, что это небезопасно. К стилю написания и содержанию претензий не имею

Ааа, это да, на самом деле сам по себе принцип такого обхода очень опасен для обычного юзера, это факт

Сам принцип и толщина "культурного слоя" при наслоении такой защиты опасен и для быстродействия кода (доказано замерами) и для душевного здоровья )))
Отламывать такое надо нафиг и окончательно.

В теории и на практике, есть ли опасность того, что возможный вредоносный код запишется в постоянную память современной материнской платы? В случае, если кряк окажется с "сюрпризом".

Опасность - есть. Равно как и опасность падения кирпича на твою голову в мегаполисе при прогулке.
Однако реально - слишком много геморроя для установки + выхлоп несоразмерен затраченным усилиям: реальнее автоматизированно закатать классический RedSun (из свежатинки) и потихоньку майнить, чем так извращаться, особенно на игровых ПК, где обычно нет данных, которые окупят такого трояна. Ну и никто не гарантирует, что свежий кряк не затрёт зловреда ради продвинтой фичи по обходу денувы.

Оставь это для ведущих бложэки Кошмарского - они любят таким пугать

Оки. Я по факту использую DeepFreeze/Shadow Defender в паре с отключенным интернетом, когда требуется подозрительные программы запускать на основном ПК. То есть за заражение накопителя до этого не боялся, а тут просто решил уточнить насчёт железа после накопителя.

Ну на самом деле спорно. Самое ценное у юзера обычно лежит в его домашнем каталоге (и на 90% домашних ПК только одна постоянно используемая учётная запись) и доступно на чтение и запись всем приложениям. Как бы глубоко не прописался вредонос в системе, её можно переустановить или попытаться пролечить с антивирусного LiveUSB. Неприятно, но не более того. А если он слил логины-пароли, а также зашифровал все личные файлы, то вот это будет настоящим ущербом. И для этого не нужны никакие дополнительные права сверх стандартных, которые получает любой exe при открытии двойным кликом.

Так что если вы скачали что-то плохое, запустили и ваш антивирус это пропустил, то в целом уже не такая большая разница будет работать вредонос в ring -1 или в ring 3. Потому что самое страшное он сделает через обычный непривелигированный файловый ввод-вывод и сетевой API.

В статье отключают относительно безобидные вещи (если предположить, что мы доверяем автору самого кряка и только потому что нам надо запускать исполняемый файл от него, а не потому что там внутри гипервизор). В списке даже антивируса нет (хотя не удивлюсь, если придётся добавлять что-нибудь в исключения) или фаервола :-)

Подписи драйверов и прочие TPM больше актуальны для кровавого энтерпрайза, а также DRM. В обоих случаях пользователь ПК считается ненадёжным звеном, которое надо ограничить.

вово, не так давно вообще не было HVCI, VBS, Secure Boot и жили как то.

Когда все это технологии вначале просто появлялось, в потом принудительно включалось с апдейтами винды все очень сильно возмущались, что кроме винды ничего на ноут не поставить, там секьюритибут и вшиты ключи чисто винды, что это сговор Микрософта и производителей железа, винда специально включает эти технологии чтобы только на новом железе с TPM модулями работать, защита на основе виртуализации ФПС жрет ..., писались гайды, инструкции как все это отключить ..., теперь же все возмущаются что ой это небезопасно, защиту отключаете, у вас вирусы будут, все защиту обойдут...

Вот помню времена winXP с вирусами вымогателя (винлокерами) и как после win7 они просто исчезли...


ps следущая стадия принятия везде включенного битлокера, ну а че ssd надо чем то занять :)

>вово, не так давно вообще не было HVCI, VBS, Secure Boot и жили как то.

Так себе жили, если вспомнить. Регулярные "ручные" лечения всего офсина на несколько сотен PC, которые прихватили очередного зловреда при попытке обойти запрет на Вконтактик или Одноклассников на работе.

Вот помню времена winXP с вирусами вымогателя (винлокерами) и как после win7 они просто исчезли...

Но ведь пресловутый WannaCry 2017 года это же оно самое есть. Просто следующий виток развития.

ps следущая стадия принятия везде включенного битлокера,

В смысое, следующая? Это уже норма лет много как. ;)

ну кто ручками лечил весь офис от зловредов это как в анекдоте
системные администраторы делятся на два типа:
Тех кто еще не делает бэкапы и тех кто уже делает бэкапы, и вишенка тех кто проверяет бэкапы
Тут также, нет офисного антивируса? Не настроили политики? ну бегайте ручками лечите компы, никогда в бизнесе небыло проблем с вирусами, не то что у хомячков..
И самое главное все эти крутые технологии по сути не сильно помогают, когда пользователь все равно жмет да, запустить, разрешить....
Едиствено что сильно повлияло это внезапно UAC (который все пытались отключить) и работа из под пользователя без прав админа, ну и массовое внедрение встроенного антивируса на компы.


>В смысое, следующая? Это уже норма лет много как. ;)
не норма, вообще, самое сильное зло, о котором рядовому пользователю ничего не сообщают и не рассказывают.
Вот купил он ноут, включил, там зарегайте учетку микрософт, ну он вбил случаное имя, пароль, настроил пин, разблокировку по отпечаптку пальца и все... Прилетело обновление биоса, переписало ключи и все данные на ПК превращаюстя в тыкву, учетку микрофот не помним (а какая учетка?) не то что пароля к ней, ну да там чтото при покупке в магазине ноута просили указать, продаваце чтото сделал и мы пользовались..
Примеров куча, стоит почитать профильные форумы. А сколько рядовых пользователей которые не пишут об этом так как не настолько продвинутые...
Много ли у нас дома кто используют почту и учетки микрософт на постоянке? Да никто, не еденицы, просто НИКТО!
До этого диски не шифровали и все было ок. Кому важна защита информации шифровали, но другими средствами. (а не шифровали так как диски были медлленыне и процы слабенькие и на шифрования всего тратились нехилые такие ресурсы)
В корпаративной же среде наоборот хороший инструмент, но опять при при правильно внедрении и администрировании... (тот же пример нет в компании антивируса бейгайте лечите 100500 компов)

Вся цепочка доверия (Secure Boot, TPM) - нужна в том числе для защиты от атак типа evil maid. Если вам поставили буткит, о котором система ничего не знает, то все ваши меры предотвращения угроз на уровне пользователя ничего не стоят.
Безопасность - это всегда комплекс мер. Вытащите один кирпич - рухнет пирамида.

evil maid

Это достаточно специфическая атака не актуальная 90% домашних пользователей. Опять же возвращаемся к тому, что Secure Boot и TPM больше для кровавого энтерпрайза и отдельных людей в особых ситуациях (и они и так знают, что им нельзя отключать и почему).

Знать, конечно, об этом полезно, но ничего ужасного в том, что типичный домашний пользователь отключит защиту от этой атаки, не вижу.

Что мешает завести отдельный комп для [пиратских] игр?
Весь смысл пиратства пропадает?

Я так и сделал кстати, один ПК чисто для игр через гипервизор, и больше там ничего нет!

Финансы. Человек который может себе позволить два игровых компа по 1-2 килобакса каждый, вряд ли станет экономить на покупках игр. Т.е. ему будет проще покупать игры, чем вот это вот все.

А два зачем и почему?

Зате, что ряд игр не спиратить в принципе.

И они не встанут на пиратский комп?

Или есть варианты угона лицензии при таком соседстве?

Если мы начинаем ставить лицензинное ПО, с подписками, облачным доступом и прочи на комп с пираткам - сама концепция "веделенного компа для пираток" перестает работать. И есть шансы скопромитировать реальные аккаунты, а то и платежные системы.

Далее - игры сервисы и онлайн игры. Словить пермабан от античита запускаясь с такого компьютера - сценарий более чем реальный.

Вспоминаю времена, когда учитель информатики ставил 3 за то, что, вместо типа данных int использовал long. Он говорил, что не правильный тип данных, это жор оперативной памяти. Скоро защита игры будет жрать 50% всех ресурсов компьютера.

Вспоминаю времена, когда учитель информатики ставил 3 за то, что, вместо типа данных int использовал long. Он говорил, что не правильный тип данных

Учительница русского языка вообще из головы не выходит? :)

На 64-битной машине?

Я когда то очень давно на pgday спрашивал в каком то специфично случае что выбрать smallint или int, на что получил ответ брать bigint по умолчанию. Почему, потому что пока данных мало, то не особо заметно, а когда стало много у вас прод не упадает при переполнении. Это на самом деле очень отражало с чем они чаще имели дело, но может и тут так.

Ой, не вспоминай, сам в своё время наспорился до хрипоты на тему "почему ты взял int, бери char, вполовину экономия. Падает? Так бери инт, но пока бери чар!".

UEFI-bootkit совсем не тривиально, обычно тут все и обламываются.

То самое слово "взлом"... при ненадежном обходе! с кучей нюансов и практически не возможным для обычных пользователей ПК.. это не взлом это создание кряка при обходе!!!! А не взлом , через гипервизор!!! Взлом это даже не то что не совсем , это прям вообще не то слово!

Тот неловкий момент, когда нейросетевой пост понять легче, чем человеческий комментарий под ним

Архитектурно это слой обфускации (VMProtect-подобный)

Т.е. VMProtect тоже теоретически под угрозой? 🤔

емнип на vmprotect все антивирусы счас орут.

Цифровая подпись не помогает?

ее не так просто получить сейчас, особенно в РФ.

Насколько я помню раньше - орали они раньше на пиратский VMProtect (именно потому что автор VMProtect'а был очень даже за и активно помогал этому).

Смотря в какой части. Гипервизор отлично обходит проверки окружения VMProtect: анти-отладку, детекты виртуалок и тайминги. Протектор будет уверен, что работает на чистом железе.

Но саму виртуализацию кода (превращение x86-инструкций в кастомную кашу из байт-кода) этот метод магически не расшифрует. Реверсить логику всё равно придётся руками. Просто теперь VMP не будет бить по рукам и крашить процесс при попытке прицепить к нему отладчик

Тем временем Сони активирует онлайн подключение для своих игр, хотя у них нет проблем с пиратством. Но будут проблемы когда сменится поколение консолей.

VMProt, Themida и прочие - это чисто программная защита. Никакого отношения к реальной hardare виртуализации не имеет.

kernel-level DRM 

Думаю, маловероятно, т.к. потребует повышения прав, которые не у всех на ПК есть. Да и была у нас во времена Windows XP/7 такая защита, роняла некоторые компьютеры в BSOD и в целом нехорошо себя вела.

server-side validation, always-online

Вероятно, тоже будет очень быстро взломано при помощи эмуляции сервера и скармливания защите неправильного системного времени.

Вообще, все эти защиты это эталонное Security Through Obscurity. Полный бардак в машинном коде, тормоза и раздутость. А страдают те, кто игры покупает, а кто пиратит тот не страдает.

Что до защиты первых недель продаж - игра Assassin's Creed 1 была украдена за полтора месяца до релиза. Это так страшно обвалило продажи, что с 2007 года у этой игры аж 14 продолжений вышло и останавливаться создатели особо не собираются. Это я к тому, что хорошая игра отлично продастся и без защиты, а плохой игре хорошо продаться защита не поможет.

Это я к тому, что хорошая игра отлично продастся и без защиты, а плохой игре хорошо продаться защита не поможет.

именно. witcher3 была аналогично drm free

В статье же написано, что отсутствие защиты в среднем стоит 20% от сборов. Не каждая игра - это уровень Assassin's Creed и Witcher 3. Некоторые просто игры, которые делают обычные люди, которые просто хотят есть.

за установку защиты эти 20% и придется отдать

Вы об инди-студиях? Так для них стоимость установки подобной защиты это весь бюджет на разработку игры умноженный на 20. Про разработчиков-одиночек вообще молчу.

У компании, которое выпускают AAA несколько студий, пока A студия несколько лет делает одну игру, B студия делает игры каждый год

Там же в статье указывается, что через 3 месяца 20% штраф на доход исчезает. Вряд ли у студий на разработку взяты кредиты, которые обязательно нужно погасить в течении 2 недель после релиза. Игра, которую делают несколько лет, по определению долгосрочная инвестиция.

А у "обычных людей" нет денег на эти крутые защиты (да и репутации нет на риски false-positive и глюки, которые неизбежно вносят все эти обфускаторы и антидебаггеры). В инди-играх либо нет DRM, либо он простейший через Steam API или аналоги.

Кредиты вряд ли, а вот инвесторы вложившиеся в проект могут давить на студии и заставлять принимать некоторые решения

Насколько я понял по фразе, исчезает разница в продажах и в пиратских скачиваниях. А 20%, которые потеряли в начале, никуда не девается. А это огромный процент - почти вся выручка идёт в первые недели, когда игра выпускается. Вообще, процент выглядит очень маленьким. Мне кажется, что реально гораздо больше. А с текущей экономической ситуацией и ростом цен, будет ещё больше.

Инди-игры - это крайне нишевая прослойка, где нет больших денег и в принципе трудно заработать. Да, есть некоторые, которые "выстрелили" (хотя, из-за маленькой цены и заработали не так уж много), но общую картину они не меняют.

Я охотно верю в 20%, потому что у пиратских игр и лицензионных разные ЦА. Первые если игру не взломали просто игнорируют её (когда-нибудь потом взломают, а пока можно играть в другие игры, плюс у человека может даже денег не быть на покупку). Вторые покупают игру даже если её уже выложили на торренты (потому что у них такой менталитет, потому что в их стране строго с пиратством, потому что боятся вирусов, потому что хотят поддержать разработчиков и т. д.).

Так что 20% это именно пересечение ЦА, когда человек может и пиратку скачать, и купить, в зависимости от ситуации, а не своих особенностей мышления. Оно не очень большое.

Я охотно верю в 20%, потому что у пиратских игр и лицензионных разные ЦА.

Разные ЦА - это как раз в догосроке. А вот на старте все работает несколько по другому все же. И соблазн взять здесь и сейчас за бесплатно - довольно велик. Добавим сюда фактор сомнений, как это было с недавней Crimson Desert, например, когда пощупать было интересно многим, но покупать сходу готовы были отнюжь не все.

Если взять аналогию с Кино, то выход пиратки в 4К на торрентах в день премьеры нового фильма точно так же негативно скажестя на прокате, хотя аудитори в целом тут тоже разные.

Надо учитывать, что если игра так себе, то кто не хочет за нее платить, тот ее и не купит. А если игра хорошая, то как показывает практика тех же CDPR, люди ее все равно купят. 20% сборов... А как вычислили? У нас же нет доступа к статистике игры в случае "если бы". Если сравнивать игру X без защиты и игру Y с защитой на старте, то там столько переменных влияющих на эти самые 20%, что все расчёты можно смело множить на 0

Вероятно, тоже будет очень быстро взломано при помощи эмуляции сервера и скармливания защите неправильного системного времени.

Очень быстро не будет, так как это уже немного другая задача. Если использование гипервизора позволяло в принципе практически не касаться обфусцированных потрохов Denuvo, то для полной эмуляции клиент-серверного взаимодействия придется окунуться в эти потроха с головой. А ко всему этому, к примеру, могут еще позаимствовать подход у разработчиков читов с их "сессионным" исполняемым кодом (хотя для очень популярных игр это будет сильно накладно).

Поэтому вангую, что Denuvo уйдет именно в активное клиент-серверное взаимодействие, где по своей старой доброй традиции попытаются завалить реверсеров количеством обфусцированного кода. Это можно реализовать достаточно быстро, а также это наименее инвазивное решение для пользователей, хоть и неудобное из-за требования постоянного доступа к сети.

Я вот вспоминаю как CCP Games боролись с любителями модов скажем так для EVE Online. почти вся игровая логика (и серверная) там на питоне.

Сначала можно было просто ковырять файлы на диске.

Потом они начали шифровать все, ок инжект в процесс и добавляем по сути отладочную консоль, дампим все что надо, декомпилятор, затем также грузим мод.

У EVE изначально прилетал на логине и каждые 30(вроде) секунд блоб на питоне который надо выполнить и вернуть результат. Если сначала там что-то простое было и фиксированное то потом пошли разные варианты которые пробуют проверить например какие питоновские модули, не перехвачены ли разные интересные места и прочее и это меняется регулярно, любителям модов пришлось думать как обходить это (ну или рисковать что обнаружат)

....

Они давно могли это сделать, но сознательно от этого отказывались. И причина тут, думаю, вполне очевидна - вероятность проблем с серверами очень высока, особенно на пресловутом старте продаж. Они могут падать, могут не вывозить нагрузок, могут быть взломаны. Представьте ситуацию, старт продаж, стримеры массово запускют игру чтобы проходить на стриме, а у них у всех начинаются ошибки проверки защиты или лютые тормоза из-за проваленных проверок. Это будет максимальный позор как для создателей защиты, так и для издателя, который за это ещё и хорошо так заплатил.

Не делали, пока работало старое решение. Разумеется, что требование иметь постоянный доступ к сети создаст неудобство для какой-то части пользователей. Но если Denuvo не хочет уходить из user space, то других решений для них пока не видно.

Они могут падать, могут не вывозить нагрузок, могут быть взломаны.

Конечно. А также "могут падать, могут не вывозить нагрузок, могут быть взломаны" сами Steam/Origin/etc, через которые бОльшая часть этих самых игр и распространяется.
Поэтому эти проблемы сильно притянуты за уши, на уровне "а если завтра упадет кирпич на голову".
Также Denuvo могут переложить задачу поддержки серверной части на плечи разработчика игры, предоставив готовую к развертыванию серверную часть, а сами ничего не будут хостить у себя.

Представьте ситуацию, старт продаж, стримеры массово запускют игру чтобы проходить на стриме, а у них у всех начинаются ошибки проверки защиты или лютые тормоза из-за проваленных проверок.

А есть какие-то предпосылки к возникновению такой ситуации? Этим вроде бы не вчерашние студенты будут заниматься. Поэтому реализация надежной серверной части будет меньшей из проблем. Основной проблемой будет недовольство части игроков, у которых нет постоянного доступа к сети. Остальные же могут даже ничего не заметить.

Издателю надо продать ту игру, которая получилась, независимо от ее качества

сразу вспоминается StarForce защита)) И вот лежит коллекция игр с их защитой, спасает рутрекер)

Я в какой-то момент окончательно закинул диски со сталкеров в ящик и стал пользоваться no-dvd, особенно учитывая, что там оригинальный жкзешнтк от гог-версии.

Да и дисковода в компе с 2012 нет.

Точно, где то валяется диск S.T.A.L.K.E.R с этой нечестью - сколько она крови попила)

Это прям вьетнамские флешбеки, учитывая еще до кучи кривизну самой игры.

Ещё некоторую пикантность даёт тот факт, что в своё время Valve и HTC выпускали шлем HTC Vive, у которого драйвер Bluetooth адаптера (для маяков) требует на Windows 11 отключения HVCI, иначе он не загружается. Хочешь играть со SteamVR - отключай HVCI...

Слой 2: PatchGuard (KPP). PatchGuard периодически проверяет целостность ядра — IDT, SSDT, page tables. Любой кастомный VMM умирает с BSOD в течение секунд. EfiGuard решает это паттерн-матчингом через Zydis: находит инициализационные функции PatchGuard в ntoskrnl.exe (десяток разных entry points в зависимости от версии Windows) и патчит их пролог до того, как они отработают. К моменту полного старта Windows PatchGuard просто никогда не активировался.

чушь, можно без проблем запускать любой гипервизор прямо на ходу, и это PG-safe. Иначе никаких Type-2 гипервизоров под windows не существовало бы.
больше того, виртуализацию используют для обхода ограничений PG, используя SLAT.
сам гипервизор применяется главным образом даже не для хуков системных вызовов, а для обработки инструкции cpuid для спуфа значений.

Слой 3: Driver Signature Enforcement. DSE требует, чтобы все драйверы ядра были подписаны Microsoft. Без этого hyperkd.sys (тонкая обёртка над hyperhv.dll) не загрузится. EfiGuard выставляет хук на UEFI-сервис SetVariable. Когда из user-mode приходит обращение с переменной EFIGUARD_BACKDOOR_VARIABLE_NAME и cookie 0xDEADC0DE, хук выполняет произвольную запись в память ядра — обнуляет g_CiOptions. После этого DSE формально включён, но любая подпись считается валидной.

DSE изначально отключали просто включением Test mode, EfiGuard был опционален, чтобы не мучиться с тестовой подписью.
Сейчас вообще это всё неважно, т.к. используется мануал маппинг драйверов (kdmapper).

Слой 5: KUSER_SHARED_DATA. Эта страница памяти (адрес 0xFFFFF78000000000 на x64) содержит данные ядра, доступные user-mode для чтения: системное время, версия ОС, состояние безопасности. Denuvo читает оттуда KdDebuggerNotPresent и связанные поля. Гипервизор через EPT настраивает теневую копию страницы: ядро видит реальные значения, Denuvo — спуффленные. Ровно та техника, которую используют kernel rootkits.

тут лишь скажу, что в usermode эта страница всё также отображается в 0x7ffe0000, как и на x86

Спасибо за комментарий, тут действительно есть несколько упрощений с моей стороны.

По PatchGuard - да, вы правы: он не запрещает запуск гипервизоров сам по себе. Type-2 гипервизоры спокойно живут в user-mode. Я в тексте имел в виду именно сценарий с кастомным VMM + патчами ядра на этапе загрузки. В таком виде это уже не «обычная виртуализация», и без обхода PG оно быстро ловит BSOD.
Про PG в целом: https://learn.microsoft.com/en-us/security-updates/securityadvisories/2007/932596

По DSE - тоже согласен, формулировка вышла слишком категоричной. Есть test mode, есть разные способы загрузки драйверов, тот же kdmapper сейчас используется повсеместно. В статье я описывал конкретную реализацию с EfiGuard, а не все возможные варианты.
Про test signing: https://learn.microsoft.com/en-us/windows-hardware/drivers/install/the-testsigning-boot-configuration-option

По KUSER_SHARED_DATA - да, в user-mode это всё ещё 0x7FFE0000, тут я не уточнил и получилось двусмысленно. Я имел в виду kernel mapping и подмену через EPT.
Про структуру: https://www.microsoft.com/en-us/msrc/blog/2022/04/randomizing-the-kuser_shared_data-structure-on-windows/

Если коротко: я описывал конкретный стек из crack-пакетов, а не всю экосистему в целом.

Гипервизоры НЕ живут в user-mode, любая инструкция старта виртуализации VMXON (intel) или VMRUN (amd) требуют ring0. Используйте хотя бы какую-то другую нейронку (что это? deepseek?), ошибка на ошибке, ресурс всё же технический.

Ты сейчас споришь с формулировкой, а не с сутью. VMXON и VMRUN из user-mode не запускаются, это ring0-only инструкции. А user-mode компоненты в Hyper-V есть, но они не исполняют сам вход в виртуализацию. Так что твой аргумент скорее просто подмена тезиса.

Невалидно, фактический код гипервизора всегда стартует из ring0, а его обработчики и вовсе работают с правами ring-1. Плюс обсуждаемый гипервизор даже не предназначен для изоляции гостевых систем (как hyper-v или vmware), весь его функционал умещается в одном драйвере и не нуждается в usermode приложении. Ни к чему со мной спорить таким образом, изучайте матчасть. Я Вам указываю на серьезные ошибки, будьте добры их принять, если не можете осмысленно дискутировать, даже имея нейронку под рукой.

Intel SDM, Vol. 3C, стр. 24-3 прямо пишет: “Software enters VMX operation by executing a VMXON instruction.” . И я не спорю, что сам вод в VMX-режим делается из ring0, но у Hyper-V есть и user-mode component of the virtualization stack - VMWP, как прямо сказано у Microsoft - https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/architecture

По KUSER_SHARED_DATA Microsoft MSRC пишет, что kernel mapping находится по адресу 0xFFFFF78000000000, а user-mode mapping - по 0x7FFE0000 - https://www.microsoft.com/en-us/msrc/blog/2022/04/randomizing-the-kuser_shared_data-structure-on-windows. Это я и имел в виду.

еще раз, причем тут Hyper-V? Код обсуждаемого гипервизора НЕ имеет usermode в принципе, вот код, на базе которого он и строится (по крайней мере amd вариант), там тоже нет никакого usermode:
https://github.com/tandasat/simplesvm

Согласен, тут я откровенно затупил. Зря приплел сюда архитектуру большого Hyper-V.

Обсуждаемый тонкий гипервизор - это драйверная история, признаю, был неправ :)

Да так оно и есть.
Driver Ring 0: check vt-x/d-> ZwAllocateVirtualMemory(Region: VMXON, VMCS, IO bitmap)-> Cr4 bit->MSR lock 2bit->VMXON->VMCLEAR->vmptrld и поехали заполнять VMCS...... -> ну и стартуем VMLAUNCH

Между ними — четыре уровня привилегий

Нет) В х86-64 колец 1 и 2 не существует. Выкинули за невостребованностью. Есть режим ядра и юзерспейс

Может автор имел ввиду Root mode (ring -1 (минус один) - это слой между r0 и UEFI) для команд типа VMXON? Там как раз и крутятся все низкоуровневые HV.

У x86-64 они существуют, просто вообще никому не нужны. Но я согласен, фраза странная

У x86-64 они существуют,

нет, только в режиме эмуляции х86-32.

Все эти кольца были завязаны на сегменты и TSS, которые к счастью выпилили.

Сейчас всё это управляется через страничную память, и там в дескрипторе страницы под это выделен всего один бит (ядро/юзерленд).

Собственно, что сделал лично я, дабы не калечить основную рабочую виндовую лошадь - просто собрал вторую машину из б/ушных комплектующих - r5 3600, RTX2070S, 32gb ddr4 и стопки ссдшников, водрузил туда дуалбутом bazzite и win 10, проделал над оной десяткой все сопутствующие ритуалы, теперь оно трудится с телевизором в качестве монитора, такая, эрзац- steam machine :) в силу того, что ось голая, тырить из неё по-определению нечего :)

А почему в целом привязка игры к аккаунту, на который она покупалась всё ещё не является стандартном? компании думают о 1% людей без интернетов, рискуя потерять при этом 20% прибыли?

Там же написано что оно в Стим обращается и узнаёт куплено ли. Но это эмулировать - самое простое.

Стим поддерживает GetAuthSessionTicket, с ним уже подписи надо подделывать или ломать саму игру

Там, по-моему, просто подменяют DLL, реализующий стимовские API.

Почитал и что то вспомнилась защита первых Ассасинов, помню ее ломали путем эмуляции сервера, те ты запускал файл который включал эмулятор сервера юбиков, потом игру и игра думала что цепляется на оригинальный сервер, вот прикольно было

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации