Blog. Just Blog

Исследование защиты программы DA-HtAccess

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Темная сторона Силы | Автор: ManHunter
Скриншот программы DA-HtAccess
Скриншот программы DA-HtAccess

DA-HtAccess - редактор файлов .htaccess, которые используются для конфигурации серверов Apache. Неплохой помощник не только для начинающих web-мастеров, но и для профессионалов, потому что избавляет от необходимости держать в голове кучу инструкций. Как вы могли догадаться, раз уж программа появилась в этом разделе, значит она требует финансовых вливаний. Ну или достаточно ограничиться внимательным прочтением статьи.

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

Сообщение о неправильной регистрации
Сообщение о неправильной регистрации

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

Обработчик триального окна
Обработчик триального окна

В обработчике нажатия на кнопку регистрации выполняется вызов функции Register, после проверки выводится сообщение об успешной или ошибочной регистрации.

Обработчик нажатия на кнопку
Обработчик нажатия на кнопку

Кликом на название функции переходим дальше.

Функция проверки регистрации
Функция проверки регистрации

Еще одна "говорящая" функция - CheckSerial. Клик на нее и внутри мы обнаруживаем вызов функции генерации серийного номера. Еще один клик.

Функция генерации серийного номера
Функция генерации серийного номера

Код простейший. Берется первая буква из регистрационного имени, длина регистрационного имени, некая константа keyBase, а затем с этими значениями выполняются арифметические операции. Юникодная закорючка в первой строке формулы - это число 666, просто декомпилятор тут немного лажанул. Ставим точку останова на начало функции генерации, затем через меню запускаем программу на выполнение.

Локальные переменные в режиме отладки
Локальные переменные в режиме отладки

Пошаговой трассировкой доходим до конца функции генерации и смотрим на локальные переменные. Отлично, теперь мы знаем правильную пару для регистрации, это регистрационное имя "ManHunter / PCL" и серийник "1335792-811039614-7723649". Также мы выяснили значение константы keyBase, которая используется в формуле. Это 14E82 в шестнадцатеричной системе счисления или 85634 в привычной нам десятичной. Закроем dnSpy и попробуем зарегистрировать программу найденными значениями.

Программа успешно зарегистрирована
Программа успешно зарегистрирована

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

int length = name.Length;
int keyBase = 85634;
char c = name[0];
text = (keyBase * length + (int)(c * 666)).ToString() + "-";
text += (keyBase * (int)c * 123).ToString() + "-";
text += (keyBase + length * (int)c * 6613).ToString();

Код первого символа имени можно посмотреть по табличке, длину имени посчитать тоже не составит труда, значение константы keyBase мы выяснили в отладчике, а дальше все можно посчитать на обычном калькуляторе. Цель достигнута.

Поделиться ссылкой ВКонтакте Поделиться ссылкой на Facebook Поделиться ссылкой на LiveJournal Поделиться ссылкой в Мой Круг Добавить в Мой мир Добавить на ЛиРу (Liveinternet) Добавить в закладки Memori Добавить в закладки Google
Просмотров: 896 | Комментариев: 4

Комментарии

Отзывы посетителей сайта о статье
MaCTeP (19.06.2019 в 10:46):
WinAPI версия генератора написаная в VS2017 -> https://drive.google.com/open?...DwYF7ExaGwhX

PS:
Разминка для ума.  :)
xT3r (29.05.2019 в 10:32):
Случаем, в "кубик иона" эволюционной версии не заглядывали? Очень было бы интересно прочитать Вашу статью о его приручении, если, конечно, это возможно.
MaCTeP (26.05.2019 в 09:16):
Сам кейген к утилите -> https://drive.google.com/open?...AZQGblO2MOke
xussr (22.05.2019 в 06:30):
по dnSpy как и что делать не силен в нете чуть подробней можно ..

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2019
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.08 сек. / MySQL: 2 (0.0037 сек.) / Память: 5 Mb
Наверх