|

Xaker (xakfaq@chat.ru)
Xakep, номер #020, стр. 020-062-4
crc=~crc;
for(i=32;i;i--) if(crc & 0x80000000) crc=(crc<<1)^0xDB710641;
else crc<<=1;
printf("%s %X","Possible contents:",~crc);
}
Q: Реально ли снять FLEXcrypt с инсталляционных пакетов FLEXlm или других файлов?
A: Да, абсолютно реально. Там используется простой XOR с перестановкой. Можно идти разными путями: анализ зашифрованных .fc файлов (выделить одинаковые 8-байтовые блоки кода - мы можем утверждать с 99%-ой вероятностью, что это ключ шифровки, проXORенный с 00h, то есть ничем не изменившийся), анализ с предположением внутренней (расшифрованной) информации в .fc файлах (это можно делать только в том случае, когда мы точно знаем вид и/или структуру зашифрованного файла - мы просто XORим пошифрованные куски предполагаемыми расшифрованными данными и получаем готовый ключ).
Q: Что такое CrypKey? Много слышал про него, а толком ничего не знаю...
A: CrypKey - это обычная "навертка" на программное обеспечение, которая обеспечивает легкое лицензирование (его легкость подразумевается в удобстве для производителей и дилеров). Существует несколько режимов защиты. Для активации какой-либо возможности программы (здесь сделано разделение на уровни) требуется ввести определенный код. Сей комплекс привязывается к жесткому диску, и поэтому даже после переинсталляции защищенной программы по истечению срока ее годности она также будет кричать, что не зарегистрирована. При определенных навыках отламывается очень легко. :)
Q: Как можно "снять" с программы такую заглушку (ключик в LPT-порт), как Rainbow Sentinel Super Pro?
A: Если защита имеет более чем стандартный вид, то довольно легко. Достаточно выцепить все обращения к драйверу ключа (в случае, если сам драйвер не зашит в программу) и сэмулировать их либо изменить (пропатчить) проверки ответов. В случае же, если сам драйвер прошит в программу, необходимо воспользоваться специальным скриптом для получения имен функций API в IDA. Далее все будет легко. :)
Задавать вопросы можно по E-Mail адресу xakfaq@chat.ru (E-Mail адрес состоит _только_ из английских букв). Поле письма Subject _обязательно_ должно быть с пометкой "[вопрос для FAQ]", иначе ответа ты просто не дождешься.
твой постоянный ведущий рубрики, Xakep
Назад на стр. 020-062-3 Содержание
|