Blog. Just Blog

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

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

RenamePad - это программа для удобного переименования файлов и папок с помощью привычного интерфейса текстового редактора. Массовое переименование происходит гораздо быстрее и проще благодаря интуитивно понятному способу редактирования имен файлов по сравнению с проводником Windows. Увы, этот сайт не работает, хотя его еще можно поискать на Wayback Machine. Так что с чистой совестью в нем можно поковыряться.

Забираем с Wayback Machine дистрибутив (если такой файл еще есть) последней версии, устанавливаем, смотрим. Файл на .NET без упаковки и это прекрасная новость. Очень повезло для изучения, так что запускаем dnSpy прямо сейчас.

Триальное окно
Триальное окно

После тестирования вываливается триальное окно с предложением зарегистрироваться, иначе появляется лимит файлов. Только 10 штук, и все. Зато понятно, как это дело можно потом проверять.

Проверяем метод
Проверяем метод

Файл написан очень красиво, смотреть код .NET просто одно удовольствие. И если посмотреть метод с характерном названием "SerialSystem", то смотрим в нем два его метода.

Проверяем новые методы
Проверяем новые методы

В свою очередь, в них находятся названия этих методов, которые легко определяются. Это проверка серийников и информации, которая к ним относятся.

Проверяем код
Проверяем код

Смотрим метод VerifyChecksum. После проверки серийника он возвращает true или false, который отвечает за него.

Редактируем код
Редактируем код

Поэтому надо открыть в dnSpy редактор метода и заменить его код. Сохраняем изменения и компилируем его исходники. Проверяем, чтобы никаких проблем с методом не было.

Проверяем код
Проверяем код

Смотрим второй метод, это VerifyChecksum. Тут в исходнике видно, что задумано несколько вариантов проверки, это, наверное, будет триал, типа введенный левый текст, может еще что-то. Главное, что после всего возвращается return 4.

Редактируем код
Редактируем код

Точно так же отправляем код в редакторе, сохраняем изменения и компилируем исходник. Теперь надо записать сборку в файл, проверяем, чтобы она запустилась.

Сообщение об успешной регистрации
Сообщение об успешной регистрации

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

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

Проверяем, что в окне тоже написано "Registered", плохих надписей нет, красота и только. Цель достигнута.

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

Комментарии

Отзывы посетителей сайта о статье
voffka (03.09.2025 в 00:00):
Там есть расшифровка возвращаемых значений
        public const int SERIAL_BAD_FORMAT = 0;
        public const int SERIAL_BAD_PRODSKU = 1;
        public const int SERIAL_BLACKLISTED = 2;
        public const int SERIAL_INVALID = 3;
        public const int SERIAL_VALID = 4;


А вообще код почти готовый кейген, только чуть подправить и запихнуть в студию.
https://pastebin.com/mixSH0FG

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

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

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