Исследование защиты программы 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".
Программа успешно зарегистрирована
Закрываем отладчик и повторяем регистрацию с найденными данными. Программа благодарит за регистрацию, а везде в интерфейсе и в окне "О программе" теперь красуется регистрационное имя.
Программа успешно зарегистрирована
По функционалу тоже никаких ограничений больше нет. В этом можно убедиться переводом времени на пару месяцев вперед или попробовав обработать большое количество файлов. Цель достигнута. Таким же способом находятся регистрационные данные и для других программ этого разработчика.
Просмотров: 1150 | Комментариев: 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
А защита-то (TRegistration) с исходниками: _https://www.3delite.hu/Object%20Pascal%20Developer%20Resources/downlo ad.html
Добавить комментарий
Заполните форму для добавления комментария