Исследование защиты программы Table
Скриншот программы Table
Программа Table предназначена для изменения обоев на рабочем столе. Платная. Да, вы не ослышались, для изменения обоев на рабочем столе. Да, платная. К счастью, Вселенная вовремя восстановила свою гармонию, офсайт прекратил свое существование и больше никто не сможет совершить непоправимую ошибку с перечислением денег за вот это.
Забираем с файлообменника дистрибутив самой последней сохранившейся версии, устанавливаем, смотрим. Исполняемый файл ничем не упакован, отправляем его в дизассемблер. На ввод левых регистрационных данных программа реагирует следующим сообщением:
Сообщение о неправильной регистрации
Строка сообщения легко обнаруживается в файле. Там же рядышком есть текст собщения и об успешной регистрации.
Строка сообщения
Теперь вернемся в дизассемблер и по перекрестным ссылкам на найденные строки посмотрим, при каких условиях появляется то или иное сообщение.
Code (Assembler) : Убрать нумерацию
- CODE:004FD25C lea edx, [ebp+var_8]
- CODE:004FD25F mov eax, [ebx+324h]
- CODE:004FD265 call @Mask@TCustomMaskEdit@GetText$qqrv
- CODE:004FD26A push [ebp+var_8]
- CODE:004FD26D lea edx, [ebp+var_C]
- CODE:004FD270 mov eax, [ebx+328h]
- CODE:004FD276 call @Mask@TCustomMaskEdit@GetText$qqrv
- CODE:004FD27B push [ebp+var_C]
- CODE:004FD27E lea edx, [ebp+var_10]
- CODE:004FD281 mov eax, [ebx+32Ch]
- CODE:004FD287 call @Mask@TCustomMaskEdit@GetText$qqrv
- CODE:004FD28C push [ebp+var_10]
- CODE:004FD28F lea edx, [ebp+var_14]
- CODE:004FD292 mov eax, [ebx+330h]
- CODE:004FD298 call @Mask@TCustomMaskEdit@GetText$qqrv
- CODE:004FD29D push [ebp+var_14]
- CODE:004FD2A0 lea edx, [ebp+var_18]
- CODE:004FD2A3 mov eax, [ebx+334h]
- CODE:004FD2A9 call @Mask@TCustomMaskEdit@GetText$qqrv
- CODE:004FD2AE push [ebp+var_18]
- CODE:004FD2B1 lea eax, [ebp+var_4]
- CODE:004FD2B4 mov edx, 5
- ; Слепить единую строку из всех кусочков серийника
- CODE:004FD2B9 call @System@@LStrCatN$qqrv
- CODE:004FD2BE mov eax, offset _str_UF4AS3P6CMZTU8B.Text
- CODE:004FD2C3 mov edx, [ebp+var_4]
- ; Сравнить полученную строку со строкой "UF4AS3P6CMZTU8BJQ8T2BLMC4"
- CODE:004FD2C6 call @System@@LStrCmp$qqrv
- CODE:004FD2CB jnz loc_4FD444
- CODE:004FD2D1 mov dl, 1
- CODE:004FD2D3 mov eax, off_434074
- ; Вывести сообщение об успешной регистрации
- ...
- ...
- CODE:004FD444 loc_4FD444:
- ; Сравнить полученную строку со строкой "1111122222333334444455555"
- CODE:004FD444 mov eax, offset a11111222223333
- ; "1111122222333334444455555"
- CODE:004FD449 mov edx, [ebp+var_4]
- CODE:004FD44C call @System@@LStrCmp$qqrv
- CODE:004FD451 jnz loc_4FD5CA
- CODE:004FD457 mov dl, 1
- CODE:004FD459 mov eax, off_434074
- ; Вывести сообщение об успешной регистрации
- ...
- ...
- ; На всякий случай еще разок сравнить серийник с каждой из строк
- CODE:004FD5CA loc_4FD5CA:
- CODE:004FD5CA mov eax, offset _str_UF4AS3P6CMZTU8B.Text
- CODE:004FD5CF mov edx, [ebp+var_4]
- CODE:004FD5D2 call @System@@LStrCmp$qqrv
- CODE:004FD5D7 jz short loc_4FD63C
- CODE:004FD5D9 mov eax, offset a11111222223333
- ; "1111122222333334444455555"
- CODE:004FD5DE mov edx, [ebp+var_4]
- CODE:004FD5E1 call @System@@LStrCmp$qqrv
- CODE:004FD5E6 jz short loc_4FD63C
- ; Нет, серийник точно-точно не совпадает ни с одной из них
- CODE:004FD5E8 push 10h ; uType
- CODE:004FD5EA push offset asc_4FD7B4 ; "+"
- CODE:004FD5EF push offset aXtx ; "=хтх"
- CODE:004FD5F4 push 0 ; hWnd
- ; Вывести сообщение о неправильной регистрации
- CODE:004FD5F6 call MessageBoxA_0
- CODE:004FD5FB xor edx, edx
- CODE:004FD5FD mov eax, [ebx+324h]
Сравнение строк
Сравнение строк
Все так и есть, две проверки, потом еще две проверки. Таким образом, для этой программы в природе существует всего два валидных серийника: "UF4AS-3P6CM-ZTU8B-JQ8T2-BLMC4" и "11111-22222-33333-44444-55555". Первый на продажу, так как выглядит солидно, а второй для домашнего использования, чтобы не запоминать первый.
Программа успешно зарегистрирована
На ввод любого из них программа благодарит за регистрацию, никаких следов триальности больше не остается. Цель достигнута, программу и дистрибутив можно удалять.
Просмотров: 537 | Комментариев: 3
Метки: исследование защиты
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
ManHunter
(10.06.2023 в 19:45):
Не поверишь :) Это у них даже называется что-то типа "кастомизация"
NobootRecord
(10.06.2023 в 14:51):
С нетерпением жду, когда компьютерные мастера, на чьи объявления я время от времени натыкаюсь в своём районе, начнут за деньги не только переустанавливать Windows, но ещё и обои менять на рабочем столе - прям как эта программа. Нашли на чём бабла срубить! Мир Shareware-софта не перестаёт удивлять :)
Добавить комментарий
Заполните форму для добавления комментария
Не работает как следует опция "замостить"
Программа в результате довольно бесполезная