Исследование защиты программы Break Time
Скриншот программы Break Time
При длительной, непрерывной работе на компьютере возникает утомление, которое приводит не только к снижению трудоспособности, но и может стать причиной возникновения так называемых "компьютерных" заболеваний. Но утомление можно предотвратить, если регулярно устраивать перерывы от работы на компьютере. Программа Break Time подскажет вам, когда необходимо сделать такие перерывы. Она работает в фоновом режиме, отслеживает работу с клавиатурой и мышью, и рекомендует делать перерывы именно тогда, когда это действительно необходимо. Я сам пользуюсь программой Break Time на рабочем компьютере и могу подтвердить ее эффективность.
Скачиваем дистрибутив, устанавливаем, запускаем. Сразу открывается триальное окно, из которого мы узнаем, что без регистрации жить программе осталось 30 дней. На попытку регистрации произвольными данными программа реагирует вот таким сообщением:
Сообщение о неправильной регистрации
Исполняемый файл упакован ASPack, с этой навесной гадостью легко справляются автоматические распаковщики. Ну или можно потратить несколько минут и распаковать файл руками. Это уже как вам больше нравится. Попробуем поискать строку сообщения о неправильной регистрации в распакованном файле. Она находится легко, но пользы пока что от нее нет, так как она находится в ресурсах, да еще и внутри формы Дельфи. То есть прямых указателей на нее нет. Это не проблема, для Дельфи есть отличный декомпилятор - IDR, вот им и воспользуемся.
Строки в программе
Первое, на что стоит обратить внимание после завершения декомпиляции, это список строк. Тут можно сразу узнать много интересного, а именно названия ключей реестра, вспомогательные строки типа названий лицензий, но особенно меня заинтересовала строка, отмеченная на скриншоте. По виду она очень напоминает пару "регистрационное имя - серийник", и скорее всего это так называемый "черный список". То есть это валидный серийник, который засветился где-то на варезных ресурсах и автор его забанил. Стоит проверить эту догадку.
Разбаниваем серийник
Сохраним пару "имя-серийник" где-нибудь в сухом прохладном блокнотике, а затем пропатчим забаненный серийник в коде, чтобы при сравнении не было совпадений. После этого попробуем зарегистрировать программу.
Программа успешно зарегистрирована
Как видите, догадка подтвердилась. Это действительно серийник из "черного списка", и после разблокировки им можно запросто зарегистрировать программу. Кстати, если теперь вернуть обратно нераспакованный файл, то регистрация сохраняется.
А главное, что теперь мы знаем длину и формат серийного номера. Находим в коде место, где есть ссылка на строку и проверка на "черный список":
Code (Assembler) : Убрать нумерацию
- CODE:004A2A39 mov fs:[eax], esp
- CODE:004A2A3C lea eax, [ebp+var_14]
- CODE:004A2A3F mov edx, offset aBk193994549485
- ; "bk|193994-549485-925349-959562"
- CODE:004A2A44 call sub_403DA8
- CODE:004A2A49 mov eax, [ebp+var_4]
- CODE:004A2A4C call sub_403FA0
- CODE:004A2A51 cmp eax, 1Bh
- CODE:004A2A54 jnz short loc_4A2AA1
- CODE:004A2A56 mov edx, [ebp+var_14]
- CODE:004A2A59 mov eax, [ebp+var_4]
- CODE:004A2A5C call sub_40428C
- CODE:004A2A61 test eax, eax
- CODE:004A2A63 jnz short loc_4A2AA1
- CODE:004A2A65 lea eax, [ebp+var_C]
- CODE:004A2A68 push eax
- CODE:004A2A69 mov ecx, 6
Регистрируем левым серийником
Сработает точка останова, и теперь переходим на пошаговую трассировку. Сперва сработает проверка на "черный список", нашего серийника там, конечно же, нет. А вот при достижения адреса 004A2A92 в регистрах обнаружатся очень интересные вещи:
Сравнение серийников
Это и есть функция сравнения введенного и правильного серийника. При первом заходе проверяется Site License, при втором - Single User License, так что выберите тот серийник, который вам больше нравится. Сохраняем новое значение в блокнотик, выходим из отладчика и снова запускаем программу, но теперь в обычном режиме.
Программа успешно зарегистрирована
Регистрируем программу тем же именем, но уже вместо левого серийника подставляем найденную в отладчике строку. Программа молча проглотит введенные данные и станет полностью работоспособной и зарегистрированной. Цель достигнута. Приятной работы за компьютером!
Просмотров: 4958 | Комментариев: 11
Метки: исследование защиты
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
dew
(13.05.2015 в 18:33):
Все это читать, безусловно, интересно...
Но я уверен, что могу написать crackme с кодовым названием antimanhunter )))
Автору это интересно? )
Но я уверен, что могу написать crackme с кодовым названием antimanhunter )))
Автору это интересно? )
user
(09.05.2015 в 01:01):
На самом деле нет. Не всем дано
vonMI
(08.05.2015 в 22:46):
User"....Не пишу, где и какие байты - в педагогических целях."
Педагог....Все кто читает подобные обзоры,собственно говоря и учатся...И спасибо огромное хантеру,что тратит время разжёвывая белиберду единичек и ноликов.
Педагог....Все кто читает подобные обзоры,собственно говоря и учатся...И спасибо огромное хантеру,что тратит время разжёвывая белиберду единичек и ноликов.
user
(07.05.2015 в 11:01):
Та да. Но всегда ограничиваюсь вечным триалом, если это возможно без потери функционала. Так получается ..автентичнее, что ли.
Ну, и при этом сохраняется возможность реальной регистрации.
Наименьшее и достаточное вмешательство.
Ну, и при этом сохраняется возможность реальной регистрации.
Наименьшее и достаточное вмешательство.
ManHunter
(07.05.2015 в 10:49):
Если уж патчить, то можно и сразу регистрацию сделать, без триалов и ввода серийников.
user
(07.05.2015 в 03:37):
)) имелось в виду - для читателей. Не подумайте.
user
(07.05.2015 в 00:12):
Как на мой взгляд, юзабельнее пропатчить два байта для вечного триала.
Там один байт для автозакрытия нага при запуске, второй для игнорения перевода даты туда-сюда.
)) Не пишу, где и какие байты - в педагогических целях.
После этого можно при желании зарегистрироваться описанным способом,
а можно и не регистрироваться - будет работать нормально с 2-хсекундным нагом при запуске.
Оффтоп - насчёт полосатых ленточек - они во многих местах сейчас ассоциируются не с тем, с чем раньше. Изгадили символ, теперь уже навсегда.
Там один байт для автозакрытия нага при запуске, второй для игнорения перевода даты туда-сюда.
)) Не пишу, где и какие байты - в педагогических целях.
После этого можно при желании зарегистрироваться описанным способом,
а можно и не регистрироваться - будет работать нормально с 2-хсекундным нагом при запуске.
Оффтоп - насчёт полосатых ленточек - они во многих местах сейчас ассоциируются не с тем, с чем раньше. Изгадили символ, теперь уже навсегда.
Musika
(06.05.2015 в 15:38):
Спасибо.
ManHunter
(06.05.2015 в 07:46):
Не с той строчки скопировал. Поправил, спасибо!
user
(06.05.2015 в 02:11):
)) На рисунке "Сравнение серийников" - обратите внимание на содержимое регистра EIP...
Добавить комментарий
Заполните форму для добавления комментария
Мне АБСОЛЮТНО на это наплевать.