Исследование защиты программы VideoGet
Скриншот программы VideoGet
С помощью программы VideoGet вы сможете скачать ваши любимые видео клипы с сайта YouTube, а также с более чем 850 других видео веб-сайтов. VideoGet поддерживает такие сайты как: YouTube, MySpace, Google Video, Yahoo Video, MetaCafe. Многие из этих веб-сайтов держат видео в FLV формате, и большинство людей не знает как проигрывать эти файлы. VideoGet также позволит вам конвертировать все видео в множество популярных форматов для более комфортного проигрывания. VideoGet поддерживает AVI, MPEG1, MPEG2, WMV, FLV, MP4, 3GP, MP3 форматы, так что вы имеете возможность не только посмотреть видео на своем компьютере, но и переписать его на свой iPod, мобильный телефон или любой другой портативный прибор. Кроме того вы самостоятельно можете задавать настройки конвертации. Бесплатная версия позволяет скачать только 20 видео с любого сайта с момента инсталляции программы, это, конечно же, очень мало.
Скачиваем дистрибутив, устанавливаем, запускаем. Из триальных признаков сразу бросается в глаза надпись в заголовке "Trial version (20 downloads left)", а на ввод неправильного регистрационного ключа VideoGet реагирует сообщением "License key is incorrect". Поиски строки в исполняемом файле ничего не дают. Где же она может быть? Посмотрим внимательно на содержимое каталога с установленной программой. В подпапке Lang содержатся языковые файлы, среди которых есть English.xml. Попробуем поискать строку в нем. Вот она:
<String name="cSKeyInvalid">License key is incorrect</String>
Аналогичная строка есть и в других языковых файлах. Общее у них только название индекса - cSKeyInvalid, значит программа по нему и выбирает нужную строку для заполнения интерфейса. Вот этот индекс и поищем в исполняемом файле. Долго искать не пришлось:
Нехорошая строка найдена
Переходим к нашему любимому дизассемблеру. Поищем ссылки на строку и определим условия срабатывания триальной ветки алгоритма в программе.
Code (Assembler) : Убрать нумерацию
- ...
- CODE:006CB22A call sub_6CADA4
- CODE:006CB22F mov eax, [ebp+var_4]
- ; Вызвать процедуру проверки регистрационного ключа
- CODE:006CB232 call sub_6C5B28
- ; Если она вернула AL=0, то ключ неправильный
- CODE:006CB237 test al, al
- CODE:006CB239 jz short loc_6CB29F
- ; Сохранить регистрационные данные и поблагодарить за регистрацию
- CODE:006CB23B mov eax, [ebp+var_4]
- CODE:006CB23E push eax
- CODE:006CB23F mov edx, ds:off_70414C
- CODE:006CB245 mov edx, [edx]
- CODE:006CB247 mov ecx, offset aLickey_0 ; "LicKey"
- CODE:006CB24C mov eax, 80000001h
- CODE:006CB251 call sub_656A50
- CODE:006CB256 mov eax, [ebp+var_4]
- CODE:006CB259 push eax
- CODE:006CB25A mov edx, ds:off_70414C
- CODE:006CB260 mov edx, [edx]
- CODE:006CB262 mov ecx, offset aLickey_0 ; "LicKey"
- CODE:006CB267 mov eax, 80000002h
- CODE:006CB26C call sub_656A50
- CODE:006CB271 mov eax, ds:off_703F4C
- CODE:006CB276 mov eax, [eax]
- CODE:006CB278 call sub_6C6170
- CODE:006CB27D push 0
- CODE:006CB27F lea edx, [ebp+var_C]
- ; Сообщение "Thank you for registering our product"
- CODE:006CB282 mov eax, offset aCskeyvalid ; "cSKeyValid"
- CODE:006CB287 call sub_634B80
- CODE:006CB28C mov eax, [ebp+var_C]
- CODE:006CB28F mov cx, word_6CB324
- CODE:006CB296 mov dl, 2
- CODE:006CB298 call sub_43B448
- CODE:006CB29D jmp short loc_6CB2C7
- CODE:006CB29F ; -------------------------------------------
- ; Триальная ветка алгоритма
- CODE:006CB29F loc_6CB29F:
- CODE:006CB29F push 0
- CODE:006CB2A1 lea edx, [ebp+var_10]
- ; Сообщение "License key is incorrect"
- CODE:006CB2A4 mov eax, offset aCskeyinvalid ; "cSKeyInvalid"
- CODE:006CB2A9 call sub_634B80
- CODE:006CB2AE mov eax, [ebp+var_10]
- CODE:006CB2B1 mov cx, word_6CB324
- CODE:006CB2B8 xor edx, edx
- CODE:006CB2BA call sub_43B448
- CODE:006CB2BF xor eax, eax
- CODE:006CB2C1 mov [ebx+24Ch], eax
- ...
Программа успешно "зарегистрирована"
Можно попробовать функционал, ограничения на количество загружаемых файлов также нет. Цель достигнута, деньги сэкономлены. По такой же схеме обходится защита и других продуктов от компании Nuclear Coffee.
Просмотров: 6318 | Комментариев: 4
Метки: исследование защиты
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
Isaev
(17.07.2010 в 23:20):
Почему я не удивлён? :)))
Ну тут конечно отмазка везкая! Я сначала глянул, прежде чем читать, и как увидел белый список на 2710 хешей сразу понял суть статьи :)
67К зелёных рубанули ребята а работы на пару недель...
а там 10000... ну это тогда они про запас просто кинули :)
Ну тут конечно отмазка везкая! Я сначала глянул, прежде чем читать, и как увидел белый список на 2710 хешей сразу понял суть статьи :)
67К зелёных рубанули ребята а работы на пару недель...
а там 10000... ну это тогда они про запас просто кинули :)
ManHunter
(15.07.2010 в 01:30):
Можно и так, я уже описывал подобный метод с подменой хэша.
Дмитрий
(15.07.2010 в 01:27):
А я просто подменил md5 на свой, и регю ключом )
Добавить комментарий
Заполните форму для добавления комментария
007FD201: 8BC3 mov eax, ebx 007FD201: B001 mov al,1