Blog. Just Blog

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

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

Программа Fast Screen Recorder предназначена для захвата видео с экрана. Кроме обычных функций для таких программ, тут есть возможность накладывать системный звук, голос с микрофона, а также добавлять изображение с видеокамеры. Итоговый результат будет ничуть не хуже, чем тот, что выкладывают разные стримеры. Без покупки лицензии пишет видео не более 2 минут, да еще и сохраняет его с водяными знаками. Короче, в триальном режиме программа вообще непригодна к эксплуатации. Лицензия продается сроком на 1 год, при запуске постоянно требуется подтверждение регистрации через интернет, что тоже не решает задачу комфортного использования. Значит будем действовать как-то иначе.

Забираем с офсайта дистрибутив, устанавливаем, смотрим. Программа написана на дотнете, отправляем ее в dnSpy.

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

В заголовке окна в триальном режиме находится надпись "Un-Registered", которой в ресурсах соответствует константа "Main_UnRegistered". Анализатором определяем, где эта константа используется.

Вызовы методов
Вызовы методов

Следующим шагом определяем в анализаторе методы, которые используют строку. Нас интересует метод SetRegistrationState. Декомпилируем его и смотрим, что там происходит.

Флаг регистрации
Флаг регистрации

В коде обнаруживается логическая переменная с характерным названием Program.bRegistered. Было бы странным, если бы это оказался не флаг, отвечающий за статус регистрации. Снова вызываем анализатор и смотрим, где этой переменной присваивается то или иное значение.

Методы с инициализацией переменной
Методы с инициализацией переменной

Таких методов два, оба также с характерными названиями, относящимися к загрузке данных из реестра и проверке регистрации.

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

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

В конец второго метода добавляем строчку Program.bRegistered = true; а код первого метода вообще можно сократить до минимального. Компилируем оба метода, сохраняем измененный модуль, проверяем.

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

Ограничений по времени записи больше нет, водяных знаков тоже. Из интерфейса пропали все надписи, касающиеся регистрации и покупки. Цель достигнута, полезную программу можно убирать в копилку.

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

Комментарии

Отзывы посетителей сайта о статье
Илья (26.10.2024 в 22:49):
При смене пути к программе, она перестаёт записывает видео и аудио.

В реестре хардкодятся пути к файлам fpt_audio_recorder.dll и fpt_screen_recorder.dll.

Нужно выполнить с параметром SetupUnInstalled, тогда заработает.

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

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

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