Blog. Just Blog

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

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

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

Скачиваем дистрибутив, распаковываем, устанавливаем. Поищем что-нибудь, связанное с регистрацией. В меню About - Register обнаруживается вот такое окно:

Окно регистрации программы
Окно регистрации программы

На левые регистрационные данные программа реагирует сообщением: "Sorry. The registration number is incorrect. Please try again." Поищем эту текстовую строку в файле. Файл не упакован, проблем с поиском нет.

Нехорошая строка найдена
Нехорошая строка найдена

Программа написана на Delphi, поэтому воспользуемся новым инструментом - IDR (Interactive Delphi Reconstructor) - декомпилятором исполняемых файлов (EXE) и динамических библиотек (DLL), написанных на языке Delphi и выполняемых в среде 32х-разрядных операционных систем Windows. Загружаем исполняемый файл в IDR, ждем когда он завершит работу. Теперь перейдем в режим поиска строк (F8) и поищем в списке строку о неправильной регистрации. Увы, ее нет, так же как и строки об успешной регистрации.

Декомпиляция программы с помощью IDR
Декомпиляция программы с помощью IDR

Зато найдется другая строка, которая присутствует в окне ввода серийного номера: "This software is shareware, and may be reviewed for 14 days. Continued use requires that you register." Зачем нам она нужна? IDR позволяет просматривать обработчики формы, а нам сейчас как раз надо найти форму регистрации, поэтому в правой части окна выберем перекрестную ссылку, которая указывает на эту строку. В окне дизассемблера сперва будет скучный код формирования формы, заполнения текстовых полей, а вот ниже обнаружится такой любопытный кусочек:

Код получения данных из формы регистрации
Код получения данных из формы регистрации

Не надо быть семи пядей во лбу, чтобы понять, что тут происходит. Берутся введенные значения из текстовых полей имени и серийного номера, после этого вызывается какая-то функция проверки, и если она вернула AL=0, то выводится сообщение о неправильной регистрации. Нас интересует функция по адресу 0046E768, ведь похоже, что именно она отвечает за защиту. Запускаем программу под отладчиком и поставим точку останова на адрес 0046E768, после этого попробуем зарегистрировать ее каким-нибудь левыми данными.

Запускаем программу под отладчиком
Запускаем программу под отладчиком

Когда точка останова сработает, пройдем код в пошаговом режиме. Сперва проверяется заполненность регистрационного имени и серийного номера, затем из имени путем преобразования получается какая-то строка, а затем на ее основе генерируется правильный код для проверки. Это все видно в стеке. После этого по адресу 0046E7F8 вызывается функция сравнения. В регистрах EAX и EDX виден наш кривой серийник и сгененированный правильный.

Функция проверки серийного номера
Функция проверки серийного номера

Сохраним серийный номер 30267332 и попробуем повторить регистрацию с тем же именем, но уже с правильным кодом. Программа радостно сообщит, что она успешно зарегистрирована.

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

Кстати, если посмотреть еще в списке строк, то там обнаружится любопытное послание: "Hey - why do you use such a strange name? Everyone can search for a registration key. But if I do not get paid, I cannot buy something to eat, which means I have to die, so you will not get updates any more. I just wanted to say." Оно появляется на попытку ввести регистрационное имя "NICESHOP" или "CZY". Судя по тому, что программа не обновлялась уже несколько лет, похоже, что аффтар все-таки склеил ласты с голодухи. А мы успешно выловили нужный серийник и попробовали в деле новый инструмент.

Сэкономленная денежка
Сэкономленная денежка

Эта анимация сделана в зарегистрированной версии программы Flagimation, можете убедиться, что никаких ограничений у нее теперь нет.

Поделиться ссылкой ВКонтакте Поделиться ссылкой на Facebook Поделиться ссылкой на LiveJournal Поделиться ссылкой в Мой Круг Добавить в Мой мир Добавить на ЛиРу (Liveinternet) Добавить в закладки Memori Добавить в закладки Google
Просмотров: 5835 | Комментариев: 8

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

Комментарии

Отзывы посетителей сайта о статье
Vladimir (20.12.2012 в 14:43):
Насчет базы знаний для IDR к программам, написанным на Delphi 2010. Автор совершенно бесплатно лично мне дал пароль от архива с ней в ответ на мое ВЕЖЛИВОЕ письмо с просьбой об этом. Я попросил для использования сугубо в образовательных целях. Так и использую.
Так что стучитесь - и вам ответят.
ManHunter (16.11.2012 в 22:07):
Как бы это помягче сказать... Мне глубоко похер кому там чего надо, что существует или не существует. Здесь не стол заказов. Надо - ломай.
Kostyan (16.11.2012 в 21:48):
Хороший результат, так держать!
А как насчёт очень замечательной программы "Stardock DeskScapes" 3-ей версии и выше (для win 7), пока что кряков к ней вообще не существует...???
ManHunter (06.01.2011 в 16:58):
Автору и так полнейший респект и уважуха за такой грамотный инструмент.
crypto (06.01.2011 в 16:45):
Интересно, где же во фразе
<<< База знаний для версии 2010 kb2010.bin защищена паролем, обращайтесь к автору.
AyTkACT разглядел слово бабло ??? :-)
Что касается остальных замечаний - не все сразу, надо автору тоже передышку давать.
AyTkACT (16.12.2010 в 08:24):
IDR - вообще полезная штука. Жаль что она работает только с неупакованными, только 32 битными и что с 2010 только за бабло :(
<<< База знаний для версии 2010 kb2010.bin защищена паролем, обращайтесь к автору.
Isaev (15.12.2010 в 02:19):
:) Это первый тутор с IDR! Вообще наверное первый...
checkbox (14.12.2010 в 14:14):
<<<Эта анимация сделана в зарегистрированной версии программы Flagimation, можете убедиться, что никаких ограничений у нее теперь нет.

действительно, ввел вышеозначенные рег.данные, прога зарегилась, спс за серийнег ;)

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

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

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