Защита программ без IF: ретро-анализ библиотеки TViorProtect (Delphi 7)
Что если защита от копирования вообще не содержит ни одного условного перехода? Ретро-разбор библиотеки 2009 года, где вместо if (key == valid) используется вычисление адреса следующей функции, любая ошибка в данных уводит процессор в никуда.
Классический взломщик ищет в дизассемблере инструкции JZ/JNZ и инвертирует их ("Magic Jump"). Здесь этот приём не работает: нет точки принятия решения, нет и цели для патча. Вместо этого серийный номер диска, CRC32 исполняемого файла и системная дата складываются в единственно верный адрес перехода. Чуть изменил данные - получил Access Violation в случайном месте памяти.
Читать далееИсточник: Хабрахабр
Похожие новости
- OSINT для ленивых. Часть 8: GEOINT по фото за 3 минуты
- MarketingNews: Кейс: «Призы от всего атомного сердца». как «Пятёрочка» создала фиджитал-вселенную с Atomic Heart и переосмыслила механику промоакций
- Как я собрал себе C2 на малинке за один вечер
- Краткая история биометрии: как была изобретена идентификация по радужке глаза
- Мыслепреступление на Android: как скрыть Перехватчик трафика от Государственных приложений
- Хак сортировки новостей по цифровому коду (Плагин для DLE 13-19.1)
- Путаница в уязвимостях WSUS: ставим все на свои места
- Хостеры против VPN: что на самом деле скрывают поправки “Антифрод 2.0”
- Как я чуть не потерял свои скрипты из-за того, что РКН и Telegram не поделили IP-адреса
- Sber X-TI: разбираем бесплатную платформу кибербезопасности от Сбера