Исследователь выпустил большую статью с разбором защиты Denuvo

от admin

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

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

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

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

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

Способ заключается в ручном исправлении каждой проверки идентификации оборудования, гарантируя, что каждый раз возвращается правильная информация об оборудовании (“правильная” здесь означает оборудование, которое расшифрует правильную константу). Однако это чрезвычайно сложно — взломщик сталкивается не только со сложным CRC, но и со случайностью, из-за которой одному человеку практически невозможно найти все проверки, не говоря уже о том, чтобы исправить их.

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

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

Читать:
Штаты под снос. Учёные предупредили об угрозе крупнейшего землетрясения на востоке США

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

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

Исследователь выпустил большую статью с разбором защиты Denuvo

Гипервизор

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

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

Итоги

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

Похожие публикации