Исследование защиты программы Coolmuster SignPub
Скриншот программы Coolmuster SignPub
Coolmuster SignPub - программа для создания и редактирования электронных книг в популярном формате ePub с возможностью разметки текста, добавления изображений, создания оглавления и т.п. Несмотря на то, что ePub – открытый формат файлов, об этом редакторе такого сказать нельзя. Только за деньги, только хардкор.
Забираем с офсайта дистрибутив, устанавливаем, смотрим. В заголовке главного окна наблюдается надпись "Unregistered", также обнаруживается функциональное ограничение по количеству добавляемых в оглавление страниц.
Ограничение незарегистрированной версии
На попытку ввода левых регистрационных данных программа реагирует вот таким сообщением.
Окно регистрации
Ну что ж, для начала исследования информации более чем достаточно. Исполняемый файл ничем не упакован, отправляем его на разбор в дизассемблер.
Строки сообщений в файле
Строки сообщений легко обнаруживаются в файле. Давайте посмотрим, при каком условии выводится сообщение о корректной регистрации:
Code (Assembler) : Убрать нумерацию
- .text:005881F0 push ebp
- .text:005881F1 mov ebp, esp
- .text:005881F3 push 0FFFFFFFFh
- .text:005881F5 push offset loc_5A2018
- .text:005881FA mov eax, large fs:0
- .text:00588200 push eax
- .text:00588201 sub esp, 1F4h
- .text:00588207 mov eax, dword_6DCB10
- .text:0058820C xor eax, ebp
- .text:0058820E mov [ebp+var_10], eax
- .text:00588211 push ebx
- .text:00588212 push esi
- .text:00588213 push edi
- .text:00588214 push eax
- .text:00588215 lea eax, [ebp+var_C]
- .text:00588218 mov large fs:0, eax
- .text:0058821E mov eax, ds:?wxEmptyString@@3PB_WB
- ; wchar_t const * const wxEmptyString
- .text:00588223 mov edi, ecx
- .text:00588225 mov ecx, [eax]
- .text:00588227 push ecx
- .text:00588228 lea ecx, [ebp+var_200]
- .text:0058822E call ds:??0wxString@@QAE@PB_W@Z
- ; wxString::wxString(wchar_t const *)
- .text:00588234 push offset aYouHaveRegiste
- ; "You have registered successfully!"
- .text:00588239 lea ecx, [ebp+var_17C]
- .text:0058823F mov [ebp+var_4], 0
- .text:00588246 call ds:??0wxString@@QAE@PBD@Z
- ; wxString::wxString(char const *)
- .text:0058824C mov byte ptr [ebp+var_4], 1
- .text:00588250 call ds:?Get@wxTranslations@@SAPAV1@XZ
- ; wxTranslations::Get(void)
- .text:00588256 test eax, eax
- .text:00588258 jz short loc_588272
- .text:0058825A lea edx, [ebp+var_200]
- ...
- ...
Code (Assembler) : Убрать нумерацию
- .text:00589C85 push eax
- .text:00589C86 mov ecx, ebx
- .text:00589C88 call sub_5873A0
- ; Вызвать функцию проверки
- .text:00589C8D call sub_572450
- ; Взвести AL=1 в случае, если из функции вернулось AL=0
- .text:00589C92 test al, al
- .text:00589C94 setz al
- .text:00589C97 mov [esi+210h], al
- .text:00589C9D mov ecx, esi
- ; Проверить результат проверки
- .text:00589C9F test al, al
- .text:00589CA1 jz short loc_589CBA
- ; Сообщение о неправильной регистрации
- .text:00589CA3 call sub_588CB0
- .text:00589CA8 mov ecx, [ebp+var_C]
- .text:00589CAB mov large fs:0, ecx
- .text:00589CB2 pop ecx
- .text:00589CB3 pop edi
- .text:00589CB4 pop esi
- .text:00589CB5 pop ebx
- .text:00589CB6 mov esp, ebp
- .text:00589CB8 pop ebp
- .text:00589CB9 retn
- .text:00589CBA ; ----------------------------------------------
- .text:00589CBA loc_589CBA:
- ; Вывести сообщение об успешной регистрации
- .text:00589CBA call sub_5881F0
- .text:00589CBF mov ecx, [ebp+var_C]
- .text:00589CC2 mov large fs:0, ecx
- .text:00589CC9 pop ecx
Code (Assembler) : Убрать нумерацию
- .text:00572450 sub_572450 proc near
- .text:00572450 mov eax, dword_709438
- .text:00572455 push eax
- .text:00572456 call sub_572C10
- .text:0057245B add esp, 4
- .text:0057245E test eax, eax
- .text:00572460 setz al
- .text:00572463 retn
- .text:00572463 sub_572450 endp
Программа успешно "зарегистрирована"
В заголовке исчезла надпись о незарегистрированной версии, вместо регистрации открывается окно с сообщением, что мы уже успешно зарегистрированы. Данных регистрации нет, но ничего, как-нибудь переживем. Осталось проверить функционал, и тут тоже никаких ограничений по количеству страниц в оглавлении больше нет. Цель достигнута. Пишите, творите.
Просмотров: 792 | Комментариев: 2
Метки: исследование защиты
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
ManHunter
(12.08.2022 в 17:09):
Хорошо, в следующий раз буду писать "ЕБАТЬ ПЛАТНЫЙ СОФТ"
кодер
(12.08.2022 в 17:07):
Кстати, слово SHAREWARE уже довольно редко употребляется, и само это явление касается времён BBS, дискет и медленного интернета. Сейчас чаще пишут "free trial" или что-то типа того. Помните может такую организацию как ASP (Association of Shareware Professionals, создатели формата PAD), которая объединяла инди-разработчиков шароварок? Потом они переименовались в Association of Software Professionals. А в декабре 2021 года эта организация перестала существовать(!). Не то чтобы инди-шаровара совсем исчезла, нет, низкосортные индокитайские формошлёпы ещё остались, выжили и зубры индустрии - создатели качественного коммерческого софта под десктоп, однако уже больше десяти лет как все ломанулись в веб и смартфоны, просто потому что там можно заработать на порядки больше бабла, вот в чём основная причина падения интереса. Раньше все равнялись на Билли, а сейчас на Цукера.
Добавить комментарий
Заполните форму для добавления комментария