Blog. Just Blog

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

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

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

Забираем с офсайта дистрибутив, устанавливаем, смотрим что и как. Программа написана на дотнете и накрыта Crypto Obfuscator. de4dot снимает его без малейших проблем.

Снимаем обфускатор
Снимаем обфускатор

При попытке ввода неправильных регистрационных данных программа реагирует следующим сообщением:

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

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

Поиском по тексту "нехорошей" строки выходим на следующий код. Тут одному из свойств класса назначается текст сообщения.

Строка сообщения
Строка сообщения

Правый мыш на названии свойства, затем "Анализировать" и определяем, где эта строка будет использоваться. Это метод btnActivate_Click.

Метод с проверкой регистрации
Метод с проверкой регистрации

Тут видно, что методу Class165.smethod_12 передается серийный номер, а результат выполнения этого метода затем присваивается переменной status. Для успешного прохождения проверок он должен быть нулевым. Открываем упомянутый метод.

Инициализация объекта
Инициализация объекта

Первыми же строками формируется объект с начальными значениями, отвечающий за регистрацию.

Открываем метод на редактирование
Открываем метод на редактирование

Через контекстное меню или горячей клавишей открываем метод на редактирование. Нам надо сформировать объект таким образом, чтобы он сразу был валидным, а затем просто вернуть его, не выполняя дополнительных проверок.

Отредактированный класс
Отредактированный класс

Для этого достаточно оставить только такой код, как на скриншоте выше. Компилируем метод, затем сохраняем сборку под новым именем.

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

Запускаем измененную программу, на запрос регистрации вводим любой код. Программа благодарит за регистрацию. Для вступления изменений в силу осталось только перезапустить Fotosizer еще раз.

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

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

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

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

Комментарии

Отзывы посетителей сайта о статье
voffka (28.08.2021 в 10:07):
Тут кстати кейген можно сделать, без каких-либо доработок копипастнув код в VisualStudio, и добавив генератор 6ти символов.

https://pastebin.com/UeABr7HV
ManHunter (23.08.2021 в 13:19):
Очень рекомендую почитать Правила сайта.
Ярослав (23.08.2021 в 13:18):
Вы так легко вскрываете программы... Редкое сочетание хорошего слога и глубоких знаний. Если будет время и желание - посмотрите, пожалуйста, HelpSmith. Вдруг и на эту программу у вас найдётся хороший слог. :)

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

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

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