Исследователь опубликовал объёмный труд, посвящённый анализу системы защиты Denuvo.
Недавно исследователь Коннор-Джей опубликовал обширную статью, в которой подробно разобрал защиту Denuvo.
В своей работе он проанализировал ключевые особенности этой защиты, а также поделился множеством личных заметок и переписок с другими специалистами по реверсивному инжинирингу. Эти материалы содержат информацию о последних версиях Denuvo, многие из которых ранее не были доступны широкой публике.
В статье Коннор-Джей описывает принципы работы Denuvo и методы защиты, используемые австрийской компанией. Она может быть полезна тем, кто хочет лучше понять защиту и попытаться её взломать, поскольку содержит ценные базовые знания.
Для тех, кто не знаком с реверс-инжинирингом, основная идея статьи заключается в следующем: принцип работы Denuvo на основе виртуальной машины не является чем-то новым и уникальным, но современные версии представляют собой сложный механизм защиты, на взлом которого требуется много времени. По словам Коннор-Джея, на данный момент существует четыре основных способа преодоления этой защиты.
Один из способов взлома заключается в ручном исправлении каждой проверки идентификации оборудования, чтобы гарантировать, что каждый раз возвращается правильная информация об оборудовании. Под правильной информацией понимается оборудование, которое расшифрует правильную константу. Однако этот метод чрезвычайно сложен: взломщику приходится иметь дело не только со сложным CRC, но и со случайностью, что делает практически невозможным для одного человека найти все проверки, не говоря уже о том, чтобы их исправить.
Альтернативный подход заключается в нацеливании на процедуры расшифровки констант, возвращая правильную константу вместо той, что была неправильно расшифрована из-за несогласованной информации об оборудовании. Этот метод представляется более разумным, поскольку в настоящее время в этих процедурах отсутствуют CRC или случайность. Однако поиск расшифровки одной константы в трассировке из более чем 10 000 000 инструкций x86 может оказаться непростой задачей.
Название этого подхода говорит само за себя: для его реализации потребуется исправление и восстановление потенциально тысяч инструкций. Существует один случай, когда защищенный Denuvo двоичный файл был полностью восстановлен, и, по мнению исследователя, это потенциально лучший взлом за всё время.
Более продвинутый подход заключается в использовании гипервизора для подделки всей необходимой информации об оборудовании. Хотя и AMD, и Intel поддерживают возможность перехвата инструкций, таких как CPUID и XGETBV, подключение системного вызова с уровня гипервизора также не представляет большой сложности. По мнению Коннор-Джея, единственным сложным этапом было бы исправление проверок NTDLL и KUSER без взлома всех остальных приложений на компьютере.
Warez-группам запрещено использовать гипервизор для создания взломов, так как такие взломы считаются небезопасными. Однако p2p-группы и пользователи не сталкиваются с таким ограничением, и исследователь удивляется, почему p2p-группы до сих пор не используют этот метод взлома.
По словам исследователя, Denuvo демонстрирует профессионализм в том, что делают её инженеры, обеспечивая защиту игр в течение месяцев, а иногда и лет. То ли из-за лени взломщиков, то ли из-за их некомпетентности, Denuvo явно одерживает победу. По мнению исследователя, защита Denuvo вряд ли исчезнет в ближайшее время.