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

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

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

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

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

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

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

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

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

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

Программа успешно зарегистрирована
Проверяем, что в окне тоже написано "Registered", плохих надписей нет, красота и только. Цель достигнута.
Просмотров: 613 | Комментариев: 1
Метки: исследование защиты, .NET
Комментарии
Отзывы посетителей сайта о статье
Добавить комментарий
Заполните форму для добавления комментария



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