Исследование защиты программы Fast Video Downloader
Скриншот программы Fast Video Downloader
Fast Video Downloader предназначена для загрузки видеороликов с различных хостингов с возможностью их последующего конвертирования в другие форматы. А по сути очередное коммерческое поделие, паразитирующее на бесплатных утилитах FFmpeg и youtube-dl. Определенно, на месте разработчиков этих продуктов я бы запрещал любое их использование в составе платных программ. Но с другой стороны, если без денежных затрат сделать программу бесплатной, то вроде как нормально. Этим и займемся.
Скачиваем дистрибутив, устанавливаем. Хотя это не совсем дистрибутив, после первого запуска программа выкачивает с сайта еще несколько компонентов, в том числе FFmpeg и youtube-dl. Ладно, смотрим на основной исполняемый файл. Набор сопутствующих библиотек с характерными именами в папке с программой, а также специализированные анализаторы говорят, что программа написана на дотнете, так что отправляем основной файл в dnSpy. Хорошая новость заключается в том, что все имена методов и классов без аномалий, никаких обфускаторов не применялось.
Список триальных окон
Все триальные окна имеют характерные названия, включающие строку "Nag". Как несложно догадаться, они появляются в том случае, если программа работает в незарегистрированном режиме.
Последовательность вызова
Берем любое из триальных окон и поочередным анализом вызовов раскручиваем цепочку его появления.
Вызывающий метод
А вот это уже интересно. В вызывающем методе появляется булевая переменная bRegistered, на основании значения которой принимается решение о появлении триального окна.
Использование переменной
Вновь на помощь приходит анализатор. Легко и просто выясняем все места, где назначается флаг регистрации и где он потом используется. Если использование нас интересует мало, то инициализацию стоит посмотреть поподробнее.
Первоначальная инициализация
Загрузка настроек из реестра
Онлайн-проверка
Объявление переменной с первоначальной инициализацией не трогаем, она погоды не делает. А вот два следующих метода придется отредактировать.
Редактируем метод
Онлайн-проверку ключа превращаем в оффлайн с заведомо правильными результатами. Нечего ей бегать стучать хозяевам о наших маленьких шалостях.
Редактируем метод
Загрузку данных из реестра тоже максимально облегчим. Не надо зря тревожить реестр, если не просят. Лучше просто передать нужные значения.
Сохраняем измененную сборку, проверяем результат. Если все сделано правильно, то программа стартует в зарегистрированном режиме.
Программа успешно "зарегистрирована"
Интерфейс поменялся, никакие триальные окна не появляются, все опции разблокированы, их функционал тоже, цель достигнута. Программу можно удалять, так как работает она все равно криво.
Просмотров: 1209 | Комментариев: 3
Метки: исследование защиты, .NET
Внимание! Статья опубликована больше года назад, информация могла устареть!
Добавить комментарий
Заполните форму для добавления комментария