Защита программ без IF: ретро-анализ библиотеки TViorProtect (Delphi 7)

Что если защита от копирования вообще не содержит ни одного условного перехода? Ретро-разбор библиотеки 2009 года, где вместо if (key == valid) используется вычисление адреса следующей функции, любая ошибка в данных уводит процессор в никуда.
Классический взломщик ищет в дизассемблере инструкции JZ/JNZ и инвертирует их ("Magic Jump"). Здесь этот приём не работает: нет точки принятия решения, нет и цели для патча. Вместо этого серийный номер диска, CRC32 исполняемого файла и системная дата складываются в единственно верный адрес перехода. Чуть изменил данные - получил Access Violation в случайном месте памяти.
Читать далееИсточник: Хабрахабр
💬 Комментарии
В связи с новыми требованиями законодательства РФ (ФЗ-152, ФЗ «О рекламе») и ужесточением контроля со стороны РКН, мы отключили систему комментариев на сайте.
🔒 Важно Теперь мы не собираем и не храним ваши персональные данные — даже если очень захотим.
💡 Хотите обсудить материал?
Присоединяйтесь к нашему Telegram-каналу:
https://t.me/blogssmartzНажмите кнопку ниже — и вы сразу попадёте в чат с комментариями