Blog. Just Blog

Исследование защиты программы Professional Tag Editor

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

Professional Tag Editor, как нам подсказывает Капитан Очевидность, - профессиональный редактор тегов. Этот редактор предназначен для профессионального редактирования тегов в аудио- и видеофайлах различных форматов. Без регистрации функционал ограничен или обработкой 50 файлов, или временем работы в 25 дней, смотря что раньше закончится. Но выкладывать почти полторы сотни зелени за лицензию в наше непростое время слишком круто.

Забираем с офсайта дистрибутив, устанавливаем, смотрим. Главный исполняемый файл ничем не упакован, а первичный осмотр показывает, что он написан на Delphi. Для разнообразия сегодня будем использовать в качестве декомпилятора IDR, тем более, что он как раз заточен на работу с Delphi. Ну а пока он делает свою работу, посмотрим на всякие проявления триальности и незарегистрированности.

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

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

Форма регистрации
Форма регистрации

Открываем список форм, выбираем FORMREG, переключаемся в режим просмотра формы, открываем ее содержимое и выбираем обработчик кнопки "Register!". Все названия понятны, не промахнетесь.

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

В обработчике нажатия на кнопку регистрации обнаруживаются две функции с очень информативными названиями: TRegistration.CheckRegistrationNumber по адресу 007BB3A7 и TRegistration.CheckVersionCode по адресу 007BB3F3. Несложно догадаться, что первая отвечает за проверку введенного серийника, а вторая - за правильность кода.

Проверка серийника
Проверка серийника

Вся движуха по проверке серийника заканчивается функцией сравнения двух строк @UStrEqual. Загружаем программу в отладчик, ставим точку останова на функцию сравнения, запускаем и повторяем регистрацию с левыми данными.

Сравнение серийника
Сравнение серийника

Когда точка останова сработает, то на стеке будет видно, что сравниваются последние 6 символов введенного серийного номера и контрольная строка. Заменяем символы в серийнике на правильные, повторяем регистрацию. На этот раз первая проверка будет пройдена, но программа ругнется на неправильный код:

Сообщение о неправильном коде
Сообщение о неправильном коде

Возвращаемся в IDR и смотрим на функцию проверки кода. Там тоже все сводится к обычному сравнению двух строк.

Проверка кода
Проверка кода

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

Сравнение кода
Сравнение кода

Теперь у нас есть полный набор регистрационных данных. Например, это Name "ManHunter / PCL", Email "manhunter@pcl", Version Code "150289" и Registration Number "001122144424".

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

Закрываем отладчик и повторяем регистрацию с найденными данными. Программа благодарит за регистрацию, а везде в интерфейсе и в окне "О программе" теперь красуется регистрационное имя.

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

По функционалу тоже никаких ограничений больше нет. В этом можно убедиться переводом времени на пару месяцев вперед или попробовав обработать большое количество файлов. Цель достигнута. Таким же способом находятся регистрационные данные и для других программ этого разработчика.

Поделиться ссылкой ВКонтакте
Просмотров: 1036 | Комментариев: 2

Внимание! Статья опубликована больше года назад, информация могла устареть!

Комментарии

Отзывы посетителей сайта о статье
Федя (13.12.2021 в 01:54):
Как по мне так для ученья само то
pawel97 (12.12.2021 в 16:13):
Лучше патчить, version code привязан к билду, а каждый раз (для каждой их проги) в отладчик лазить...
А защита-то (TRegistration) с исходниками: _https://www.3delite.hu/Object%20Pascal%20Developer%20Resources/downlo ad.html

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

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

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