Исследование защиты программы NimbleText
Скриншот программы NimbleText
NimbleText - мощный текстовый процессор, позволяющий выполнять обработку текстов по различным правилам, в том числе регулярным выражениям. Результаты обработки можно подставлять в шаблоны, сортировать, менять регистр символов и многое другое. Некоторые функции программы требуют лицензии, некоторые лицензии требуют денег, некоторые деньги требуют желания метнуться в кассу. Поскольку такого желания нет, вся остальная цепочка становится невалидной.
Забираем с офсайта программу, это не дистрибутив, это вот оно и есть. Сохраняем куда-нибудь, запускаем и смотрим, как проявляется отсутствие регистрации.
Незарегистрированная программа
Это и текст в заголовке, и какая-то кнопка вырвиглазного цвета, и надпись в окне "О программе", и дополнительные пункты меню. Зацепок много. Программа написана на дотнете, ничем не упакована, отправляем ее на декомпиляцию в dnSpy.
Результаты поиска
Начнем с самого очевидного - поиск строки "UNREGISTERED" и условий, при которых она появляется. Судя по характерному имени, обнаружится обработчик окна "О программе".
Код обработчика
В коде обработчика присутствует вызов метода CheckLicense. Один клик и мы уже там.
Код проверки лицензии
А тут цепочка из последовательных вызовов проверок, которые, как мне кажется, легко можно было объединить в одну функцию. Но похоже, что метод декомпозиции в программировании автору нравится больше. Слишком глубоко заходить не будем, на мой взгляд, для финальной точки достаточно функции CheckActivationCode.
Открываем метод на редактирование
Через контекстное меню открываем метод на редактирование.
Редактируем метод
Вместо всего кода вписываем return true и компилируем метод обратно. Теперь любая проверка кода, даже несуществующего или невалидного, приведет к правильному результату.
Сохраняем модуль
Сохраняем измененную сборку под каким-нибудь другим именем и проверяем результат.
Программа успешно "зарегистрирована"
Все внешние проявления отсутствия регистрации пропали, по функционалу тоже никаких ограничений нет. В окне "О программе" красуется сообщение о зарегистрированной копии. Цель достигнута.
Просмотров: 602 | Комментариев: 3
Метки: исследование защиты, .NET
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
Petya
(12.01.2024 в 17:33):
Если сильно хочется, можно и код активации подсмотреть для придуманного себе уникального. Бряку ставить несколькими строчками ниже. Но он к машине привязан, а вводить неудобно.
ManHunter
(07.09.2023 в 20:14):
И у себя обновлю, спасибо
daxx0r
(07.09.2023 в 17:55):
dnSpyEx до 6.4.0 обновился ;)
Добавить комментарий
Заполните форму для добавления комментария