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

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

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

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

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

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

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

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

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

Комментарии
Отзывы посетителей сайта о статье

Добавить комментарий
Заполните форму для добавления комментария

В реестре хардкодятся пути к файлам fpt_audio_recorder.dll и fpt_screen_recorder.dll.
Нужно выполнить с параметром SetupUnInstalled, тогда заработает.