Исследование защиты программы Мир банкнот
Скриншот программы Мир банкнот
Мир банкнот - лучшая, на мой взгляд, программа для организации электронного каталога банкнот. Множество функций для сортировки и поиска, возможность описания банкнот по более чем 50 различным характеристикам, выгрузка каталога в Excel, гибкие настройки внешнего вида. Все удовольствие от использования портит необходимость платить за лицензию. Лично я считаю, что деньгам можно найти более достойное применение.
Забираем с офсайта дистрибутив, устанавливаем, запускаем и смотрим на предмет триальных проявлений. Ограничения на 30-дневный срок использования разработчики вроде как убрали, и на том спасибо. Зато осталось ограничение на добавление новых элементов в коллекцию. Отправляем главный исполняемый файл в дизассемблер.
Окно для ввода серийного номера
В окне регистрации присутствует надпись о демо-версии. Программа мультиязычная, строка находится в языковых файлах под индексом LABEL_TITLE_DEMO. А вот место в коде, где она используется.
Code (Assembler) : Убрать нумерацию
- .text:004F5086 dec [ebp+var_150]
- .text:004F508C lea eax, [ebp+var_30]
- .text:004F508F mov edx, 2
- .text:004F5094 call sub_AD5FB4
- ; Проверить флаг регистрации
- .text:004F5099 cmp dword_B0E54C, 0
- ; Программа зарегистрирована
- .text:004F50A0 jz loc_4F51AB
- .text:004F50A6 mov [ebp+var_15C], 38h
- .text:004F50AF mov edx, offset unk_B1C84A
- .text:004F50B4 lea eax, [ebp+var_48]
- .text:004F50B7 call sub_AD5D1C
- .text:004F50BC inc [ebp+var_150]
- .text:004F50C2 push dword ptr [eax]
- .text:004F50C4 lea eax, [ebp+var_4C]
- .text:004F50C7 call sub_439758
- .text:004F50CC push eax
- .text:004F50CD inc [ebp+var_150]
- ; Вывести на форму сообщение о демо-режиме
- .text:004F50D3 mov edx, offset aLabel_title_de
- ; "LABEL_TITLE_DEMO"
- .text:004F50D8 lea eax, [ebp+var_44]
- .text:004F50DB call sub_AD5D1C
- .text:004F50E0 inc [ebp+var_150]
- .text:004F50E6 push dword ptr [eax]
Code (Assembler) : Убрать нумерацию
- .data:00B0E54C dword_B0E54C dd 1
Программа успешно "зарегистрирована"
В сплеш-окне, которое отображается при запуске программы, появилось сообщение "зарегистрированная версия", триальное напоминание исчезло, в окне регистрации красуется благодарочка за регистрацию. Внешне все нормально, проверяем функционал.
Сообщение о неправильной регистрации
Ага, вот и дополнительная проверка. При попытке добавить новую коллекцию или новый элемент в уже существующую, появляется сообщение "Activation check failed!". Возвращаемся в дизассемблерный листинг и ищем это сообщение. Обнаружатся четыре вхождения примерно одного вида:
Code (Assembler) : Убрать нумерацию
- .text:004512C0 cmp dword_B0E54C, 0
- .text:004512C7 jz loc_45248F
- ...
- ...
- .text:0045248F loc_45248F:
- .text:0045248F push 0
- .text:00452491 mov edx, offset aActivationChec
- ; "Activation check failed!"
- .text:00452496 mov eax, off_BA75F0
- .text:0045249B mov eax, [eax]
- .text:0045249D xor ecx, ecx
- .text:0045249F call sub_AD5C70
Просмотров: 1209 | Комментариев: 4
Метки: исследование защиты
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
Федя
(30.11.2021 в 23:25):
Хороший почин )))
Vnv
(27.11.2021 в 15:06):
ManHunter, бугага :)
Чукча - не читатель, чукча - комментатор.
Чукча - не читатель, чукча - комментатор.
ManHunter
(26.11.2021 в 20:24):
Статью не читай @ комментарии оставляй
...
(26.11.2021 в 20:20):
На офф-сайте:
Что нового Снято ограничение на 30-дневное использование
Что нового Снято ограничение на 30-дневное использование
Добавить комментарий
Заполните форму для добавления комментария