Исследование защиты программы CDMenuPro
Скриншот программы CDMenuPro
CDMenuPro - очень мощная программа для создания профессиональных меню автозапуска для компакт-дисков. CDMenuPro очень проста в работе, но при этом имеет множество инструментов для кастомизации создаваемого меню. Но кроме кучи достоинств у нее есть один большой недостаток: программа требует денег. В бесплатном режиме создаваемые менюшки портятся всякими надписями и есть ограничения по функционалу. Автор очень переживает за пользователей, которые пользуются опасным варезом из этих ваших интернетов, поэтому будем делать свой безопасный варез.
Забираем с офсайта дистрибутив последней версии, устанавливаем, запускаем. Исполняемый файл ничем не накрыт и не упакован, что с ним надо сделать при помощи дизассемблера вы уже должны знать без напоминаний. А пока посмотрим, за что можно зацепиться.
Незарегистрированная версия
В незарегистрированной версии кроме всяких триальных окон есть очень приметная строка. Это текст "Unregistered" в окне "О программе". Давайте поищем ее. Программа мультиязычная, все языковые данные хранятся в динамических библиотеках. Интересующий нас английский язык находится в файле cdm_english.dll. Откроем его в редакторе ресурсов и поищем нужную строчку.
Типы лицензий в ресурсах
Строка найдена. Но кроме нее рядышком находятся еще два типа лицензий, а именно "бизнес" и "персональная". Забегая вперед скажу, что персональная версия имеет некоторые ограничения по функционалу, поэтому нас интересует только максимальная Business License. Мы знаем ее индекс 2102, или он же 836h в шестнадцатеричной системе счисления. Поищем это значение в листинге. С первого же захода обнаружится следующий код:
Code (Assembler) : Убрать нумерацию
- .text:00421F40 push esi
- .text:00421F41 mov esi, ecx
- ; Вызвать первую функцию проверки
- .text:00421F43 call sub_420D30
- ; Если она вернула EAX!=0, то программа зарегистрирована
- .text:00421F48 test eax, eax
- .text:00421F4A jz short loc_421F7B
- .text:00421F4C mov ecx, esi
- ; Вызвать вторую функцию проверки
- .text:00421F4E call sub_421F20
- ; Если она вернула EAX!=0, то это бизнес-лицензия
- .text:00421F53 test eax, eax
- .text:00421F55 jz short loc_421F69
- ; Загрузить из ресурсов строчку "Business License"
- .text:00421F57 push 836h ; unsigned int
- .text:00421F5C lea ecx, [esi+0E8h] ; this
- .text:00421F62 call ?LoadStringA@CString@@QAEHI@Z
- .text:00421F67 pop esi
- .text:00421F68 retn
Code (Assembler) : Убрать нумерацию
- .text:00420D30 add ecx, 0A9FCh
- .text:00420D36 jmp sub_4B5870
Переходим ко второй части Марлезонского балета. Вторая функция проверки элементарная:
Code (Assembler) : Убрать нумерацию
- .text:00421F20 push esi
- .text:00421F21 mov esi, ecx
- .text:00421F23 lea ecx, [esi+0A9FCh]
- .text:00421F29 call sub_4B5950
- .text:00421F2E mov [esi+0E4h], eax
- .text:00421F34 pop esi
- .text:00421F35 retn
Программа успешно "зарегистрирована"
Вот и все, теперь у нас есть полностью зарегистрированная и активированная программа с максимальной лицензией. Никаких надоедливых окон, никаких ненужных надписей. Проверяем функционал, заявленный только в бизнес-версии, он тоже доступен и работает как надо.
Программа успешно "активирована"
В меню "Unlock Software" можно даже ввести свое имя и любой регистрационный код, тогда программа поблагодарит за успешную активацию и сохранит введенные данные. Цель достигнута, спасибо автору за полезную программу и за трогательную заботу о пользователях.
Просмотров: 1705 | Комментариев: 5
Метки: исследование защиты, мультимедиа
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
xussr
(29.05.2019 в 10:11):
Есть еще один на оф сайте продукт KSSW-FrontendMenu-Creator тут защита поизощреннее тоже бы не помешало показать внутренности чтоб понять как все завязано :):):)
caxap
(17.04.2019 в 14:59):
Ох, фига себе ты оперативный! :)))
Спасибо, камрад!
Спасибо, камрад!
caxap
(17.04.2019 в 13:46):
Служивый, будь добр, в профильной ветке на ру-борде сделай релиз, если возможно. Я "дизассемблеры не умею". Понадобилась прога, но везде ссылки только тухлые (давнишние). К тому-же в комментах пишут, что ключедел от CRD, который обычно шёл комплектом, создавал лишь видимость регистрации - в изготовленных менюшках лезла ругань.
Как всегда заранее спасибо и всех благ!
Как всегда заранее спасибо и всех благ!
xussr
(24.03.2019 в 17:01):
Давно не было в примерах такого софта жесть!
TestLog
(28.12.2018 в 16:35):
Прикольная программка, залип на полдня в поиске ключега, спасибо за экспонат)
Добавить комментарий
Заполните форму для добавления комментария