Исследование защиты программы Icecream Image Resizer
Скриншот программы Icecream Image Resizer
Программа Icecream Image Resizer, как можно понять из названия, предназначена для изменения размеров изображений мороженого. Без регистрации за один раз программа может обработать только три файла, что для истинных любителей мороженого очень мало. Так что давайте излечим ее от жадности.
Забираем с офсайта дистрибутив, устанавливаем, смотрим. Программа написана на Qt, об этом свидетельствуют характерные названия динамических библиотек в папке. Основной исполняемый файл ничем не упакован, отправляем его на разбор в дизассемблер. Параллельно проверяем триальные ограничения:
Ограничение незарегистрированной версии
Поскольку слово "PRO" в интерфейсе программы появляется слишком часто, поищем его внутри исполняемого файла:
Строки в файле
Отлично, рядом находятся строки об успешной активации, версии "FREE" и "PRO" и всякое подобное. Так как мы имеем дело с Qt, то нет ничего удивительного, что в листинге дизассемблера обнаружится конструкция с указателями на строки:
Code (Assembler) : Убрать нумерацию
- .data:004EC084 off_4EC084 dd offset aPro ; "PRO"
- .data:004EC088 off_4EC088 dd offset aFree ; "FREE"
Code (Assembler) : Убрать нумерацию
- .text:00451257 mov ecx, eax
- ; Вызывать функцию проверки
- .text:00451259 call sub_432220
- .text:0045125E test al, al
- .text:00451260 jz short loc_451279
- ; Указатель на указатель на строку "PRO"
- .text:00451262 push off_4EC084
- .text:00451268 lea ecx, [esp+48h+var_20]
- .text:0045126C call ds:??0QString@@QAE@PBD@Z
- .text:00451272 mov ebx, 1
- .text:00451277 jmp short loc_45128E
- .text:00451279 ; ----------------------------------------------
- .text:00451279 loc_451279:
- ; Указатель на указатель на строку "FREE"
- .text:00451279 push off_4EC088
- .text:0045127F lea ecx, [esp+48h+var_24]
- .text:00451283 call ds:??0QString@@QAE@PBD@Z
- .text:00451289 mov ebx, 2
Code (Assembler) : Убрать нумерацию
- .text:00432220 sub_432220 proc near
- .text:00432220 mov al, [ecx+1Ch]
- .text:00432223 retn
- .text:00432223 sub_432220 endp
Программа успешно "зарегистрирована"
Ограничение на количество файлов пропало, дополнительные опции в настройках разблокированы, в заголовке и прочих местах программа бодро рапортует о версии PRO. Цель достигнута, а сэкономленные деньги можно потратить на какую-нибудь вкусняшку, например, на мороженое.
Просмотров: 1255 | Комментариев: 4
Метки: исследование защиты, графика
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
ManHunter
(24.09.2022 в 18:30):
Гугл - это правильное направление.
Евгений.
(24.09.2022 в 15:21):
Не буду ли я назойлевым, если попрошу Вас посоветовать чтиво на эту тему? Гугл выдает всякое разное, но, быть может, Вы, как человек знающий, порекомендуете что-то надежное и проверенное?
ManHunter
(24.09.2022 в 13:28):
Все есть. Динамическая модификация кода в процессе исполнения, например.
Евгений
(24.09.2022 в 13:24):
Приветствую.
Давно обратил внимание, что практически все взломы Вы начинаете с дизасемблера и отладчика. И если отладчику, я знаю, вполне есть способы сопротивления, то есть ли таковые для дизасемблера? Или он нечто вроде лома, против которого нет приема, в мире кода?
Давно обратил внимание, что практически все взломы Вы начинаете с дизасемблера и отладчика. И если отладчику, я знаю, вполне есть способы сопротивления, то есть ли таковые для дизасемблера? Или он нечто вроде лома, против которого нет приема, в мире кода?
Добавить комментарий
Заполните форму для добавления комментария