Исследование защиты программы Color Pilot
Скриншот программы Color Pilot
Color Pilot от Two Pilots - отличная программа для цветокоррекции фотографий. Может быть профессионалы не согласятся, но как по мне, так одна из лучших программ для выполнения этой задачи. У Two Pilots для разных продуктов предусмотрены различные методы дистрибьюции. Где-то полноценный дистрибутив с регистрацией серийником, где-то для обычной загрузки доступна только урезанная демка, а ссылки на ретайловые дистрибутивы высылаются на почту только после оплаты. Когда-то давно я даже покупал лицензии на некоторые их программы, но исключительно чтобы получить доступ к полнофункциональным дистрибутивам для их дальнейшего исцеления. Color Pilot как раз относится к таким программам, у которых бесплатно доступен только триальный дистрибутив с урезанным функционалом и без возможности регистрации. Расстраиваться по этому поводу не стоит, может быть получится превратить программу в полноценную какими-нибудь другими способами.
Забираем с офсайта дистрибутив, устанавливаем, запускаем, ждем, еще ждем, еще немного ждем, снова ждем... Ну а чо вы хотели, программа написана на Qt. Главное триальное ограничение заключается в том, что программа сохраняет изображение не более 1024x1024 пикселей. При попытке сохранить изображение большего размера, появляется вот такое сообщение:
Ограничение триальной версии
Начальная точка для исследования есть, главный исполняемый файл ничем не упакован, отправляем его на разбор в дизассемблер. Логично предположить, что для принятия решения о сохранении сперва должна быть выполнена проверка размера изображения. Когда листинг будет получен, поищем в нем строку сообщения о невозможности выполнить сохранение картинки.
Code (Assembler) : Убрать нумерацию
- .text:00443CFF mov [ebp+var_74], ecx
- .text:00443D02 mov ecx, ebx
- ; Получить ширину изображения
- .text:00443D04 call ds:_ZNK6QImage5widthEv
- ; Она меньше 1024 пикселей?
- .text:00443D0A cmp eax, 400h
- ; Да, переход на следующую проверку
- .text:00443D0F jle loc_443F4C
- .text:00443D15 loc_443D15:
- .text:00443D15 mov eax, ds:_ZN7QObject16staticMetaObjectE
- .text:00443D1A lea ebx, [ebp+var_30]
- .text:00443D1D mov dword ptr [esp+0Ch], 0FFFFFFFFh
- .text:00443D25 mov dword ptr [esp+8], 0
- .text:00443D2D mov dword ptr [esp+4], offset aRegisteredCopy
- ; "Registered copy has no limitations!"
- .text:00443D35 lea esi, [ebp+var_3C]
- .text:00443D38 mov ecx, ebx
- .text:00443D3A mov [esp], eax
- .text:00443D3D mov eax, ds:_ZNK11QMetaObject2trEPKcS1_i
- .text:00443D42 mov edi, eax
- .text:00443D44 mov [ebp+var_84], eax
- .text:00443D4A call eax ; _ZNK11QMetaObject2trEPKcS1_i
- .text:00443D4C mov eax, ds:_ZN7QObject16staticMetaObjectE
- .text:00443D51 sub esp, 10h
- .text:00443D54 mov ecx, esi
- .text:00443D56 mov dword ptr [esp+0Ch], 0FFFFFFFFh
- .text:00443D5E mov dword ptr [esp+8], 0
- .text:00443D66 mov dword ptr [esp+4], offset aUnregistered_0
- ; "Unregistered copy of program doesn't al"...
- .text:00443D6E mov [esp], eax
- .text:00443D71 call edi
- .text:00443D73 lea eax, [ebp+var_38]
Code (Assembler) : Убрать нумерацию
- .text:00443F4C mov ecx, ebx
- ; Получить высоту изображения
- .text:00443F4E call ds:_ZNK6QImage6heightEv
- ; Она больше 1024 пикселей?
- .text:00443F54 cmp eax, 400h
- ; Да, вывести сообщение о триальном ограничении
- .text:00443F59 jg loc_443D15
- .text:00443F5F mov eax, ds:_ZN10QArrayData11shared_nullE
- .text:00443F64 lea ebx, [ebp+var_58]
- .text:00443F67 mov [esp], ebx
- .text:00443F6A mov [ebp+var_5C], eax
- .text:00443F6D lea eax, [ebp+var_5C]
- .text:00443F70 mov [ebp+var_6C], eax
Ограничение на сохранение снято
Никаких уведомлений больше не появляется, файл успешно сохраняется на диск. Цель достигнута. Остались только триальные надписи в заголовке и окне "О программе", но это уже как-нибудь переживем.
Просмотров: 1305 | Комментариев: 5
Метки: исследование защиты, графика
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
ManHunter
(07.11.2021 в 23:24):
Разве
это не оно?
это не оно?
MH100181Q
(07.11.2021 в 23:11):
по инструкции не сработало, сделал так:
00443D0F | 0F8E 37020000 | jle colorpilot.443F4C |
00443D0F | E9 38020000 | jmp colorpilot.443F4C |
00443D0F | 0F8E 37020000 | jle colorpilot.443F4C |
00443D0F | E9 38020000 | jmp colorpilot.443F4C |
ManHunter
(29.09.2021 в 17:43):
Ага, ее я как раз и покупал. Там хитрая ссылка на закачку с корявым названием вложенной папки. Сейчас эта ссылка не действует, последняя доступная версия была 3.3.1. В качестве альтернативы прекрасно справляется мой TPI to JPEG Converter https://www.manhunter.ru/relea...ter_2_0.html
Ivo
(27.09.2021 в 18:31):
Жаль, что Retouch Pilot ещё не разминирована.
Добавить комментарий
Заполните форму для добавления комментария
Начал нопить, не сработало, стал по строкам искать