Исследователь опубликовал объёмный труд, посвящённый анализу системы защиты Denuvo.

Недавно исследователь Коннор-Джей опубликовал обширную статью, в которой подробно разобрал защиту Denuvo.

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

В статье Коннор-Джей описывает принципы работы Denuvo и методы защиты, используемые австрийской компанией. Она может быть полезна тем, кто хочет лучше понять защиту и попытаться её взломать, поскольку содержит ценные базовые знания.

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

Исправление проверок идентификаторов оборудования

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

Исправление расшифровки констант

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

Полное восстановление binary.exe

Название этого подхода говорит само за себя: для его реализации потребуется исправление и восстановление потенциально тысяч инструкций. Существует один случай, когда защищенный Denuvo двоичный файл был полностью восстановлен, и, по мнению исследователя, это потенциально лучший взлом за всё время.

Гипервизор

Более продвинутый подход заключается в использовании гипервизора для подделки всей необходимой информации об оборудовании. Хотя и AMD, и Intel поддерживают возможность перехвата инструкций, таких как CPUID и XGETBV, подключение системного вызова с уровня гипервизора также не представляет большой сложности. По мнению Коннор-Джея, единственным сложным этапом было бы исправление проверок NTDLL и KUSER без взлома всех остальных приложений на компьютере.

Warez-группам запрещено использовать гипервизор для создания взломов, так как такие взломы считаются небезопасными. Однако p2p-группы и пользователи не сталкиваются с таким ограничением, и исследователь удивляется, почему p2p-группы до сих пор не используют этот метод взлома.

Итоги

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