Исследование защиты программы Remo Repair ZIP
Скриншот программы Remo Repair ZIP
Программа Remo Repair ZIP предназначена для восстановления поврежденных архивов в формате ZIP. Причины повреждения могут быть разными: неисправность носителя, программный сбой, вирусная атака и многое другое. Remo Repair ZIP вытащит из архива все, что только получится. Полезная в хозяйстве программа, но без регистрации восстановленная информация только показывается, сохранить ее не удастся. Это нехорошо. Придется привести программу в должный порядок.
Забираем с офсайта дистрибутив, устанавливаем, смотрим. В папке с программой несколько исполняемых файлов, нас интересует только rsziprpr.exe. Он ничем не упакован, отправляем его на дизассемблирование. Теперь потестируем программу на предмет триальности. Действительно, при попытке что-то сохранить появляется вот такое окно:
Триальное окно
Покупать мы тут, ясно дело, ничего не собираемся, проверим активацию. Для активации программа предлагает выпустить ее в интернет и что-то там скачать или сделать. Тоже перебьется, ибо нефиг. Пойдем другим путем и поищем характерные строки, так или иначе относящиеся к регистрации, триалу, лицензиям, юзернеймам и тому подобные.
Строка в файле
Первый же заход оказывается удачным. Обнаруживается строка, в которой присутствует "IsRegistered". Было бы странно, если бы она использовалась для чего-то кроме проверки статуса регистрации. Перейдем в дизассемблер и посмотрим, где и как она используется.
Code (Assembler) : Убрать нумерацию
- .text:00441C24 dword_441C24 dd 3
- .text:00441C28 dd offset dword_441C2C
- .text:00441C2C dword_441C2C dd 0FFFFFDE8h, 1FEh
- .text:00441C34 dd offset aSzisregistered ; "szIsRegistered"
- .text:00441C38 dd 0FFFFFDDCh, 4
- .text:00441C40 dd offset aSzallkeys_soft ; "szALLKEYS_SOFTREG"
- .text:00441C44 dd 0FFFFFDD0h, 4
- .text:00441C4C dd offset aSzkeys_softreg ; "szKEYS_SOFTREG"
- .text:00441C50 aSzkeys_softreg db 'szKEYS_SOFTREG',0
- .text:00441C5F aSzallkeys_soft db 'szALLKEYS_SOFTREG',0
- .text:00441C71 aSzisregistered db 'szIsRegistered',0
Code (Assembler) : Убрать нумерацию
- .text:00441960 push ebp
- .text:00441961 mov ebp, esp
- .text:00441963 push 0FFFFFFFFh
- .text:00441965 push offset loc_469ABD
- .text:0044196A mov eax, large fs:0
- .text:00441970 push eax
- .text:00441971 sub esp, 238h
- .text:00441977 push esi
- .text:00441978 push edi
- .text:00441979 push ecx
- .text:0044197A lea edi, [ebp+var_244]
- .text:00441980 mov ecx, 8Eh
- .text:00441985 mov eax, 0CCCCCCCCh
- .text:0044198A rep stosd
- .text:0044198C pop ecx
- .text:0044198D mov eax, dword_4AE028
- .text:00441992 xor eax, ebp
- .text:00441994 mov [ebp+var_10], eax
- .text:00441997 push eax
- .text:00441998 lea eax, [ebp+var_C]
- .text:0044199B mov large fs:0, eax
- .text:004419A1 mov [ebp+var_14], ecx
- .text:004419A4 push 1FEh ; Size
- .text:004419A9 push 0 ; Val
- .text:004419AB lea eax, [ebp+Dst]
- .text:004419B1 push eax ; Dst
- .text:004419B2 call memset
- .text:004419B7 add esp, 0Ch
- .text:004419BA push 1FEh ; int
- .text:004419BF lea ecx, [ebp+Dst]
- .text:004419C5 push ecx ; Dst
- .text:004419C6 sub esp, 1Ch
- .text:004419C9 mov ecx, esp
- .text:004419CB mov [ebp+var_238], esp
- .text:004419D1 push offset aSoftreg_0 ; "SOFTREG"
- .text:004419D6 call sub_409F80
- .text:004419DB mov [ebp+var_240], eax
- .text:004419E1 mov edx, [ebp+var_240]
- .text:004419E7 mov [ebp+var_244], edx
- ...
Программа успешно "зарегистрирована"
Первое, что сразу бросается в глаза, кнопка "Register" поменяла свое название на "Registered". Ну и при восстановлении все данные сохраняются куда сказано. Цель достигнута. Кстати, у разработчика на сайте есть еще немало полезных программ аналогичного назначения, а защита на них обходится абсолютно так же.
Просмотров: 1011 | Комментариев: 5
Метки: исследование защиты
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
Авася
(29.05.2022 в 07:05):
С их видео-рекаверилками это не прокатывает. Мало им al-а равного 1.
ManHunter
(26.03.2022 в 07:56):
Для потребителей могу написать попроще. Если программа в принципе не предназначена для работы с интернетом, то ей любой доступ в сеть должен быть перекрыт на фаерволе. Это правило касается не только этой проги, а вообще.
Жека
(26.03.2022 в 01:11):
Товарищи-потребители санкционного импорта вас бы не поняли про баню:) Но смешно! Как говорится, недружественным нам "товарищам" всегда необходима баня во всех их окнах:)
ManHunter
(26.03.2022 в 00:22):
- Товарищи, что за бардак!! Мне из окна видна женская баня, постоянно отвлекает!!!!
- Но из окна ничего не видно.
- Ага!!! А вы на шкаф залезьте!!!!
- Но из окна ничего не видно.
- Ага!!! А вы на шкаф залезьте!!!!
Жека
(26.03.2022 в 00:05):
Всё замечательно, но есть одно но. Если нажать на вновь появившемся после патча - названии "Registered", всплывает окно об активации и если ради прикола нажать на кнопку АКТИВИРОВАТЬ, начнёт загружаться с Инета куча хлама размером больше 50 Мб. Лечится этот недочёт следующим патчем: 0040E180 55 <-- C3 push ebp
Можно и вашим любимым MOV AL,1 и RET, но мне понравился просто RET.
Можно и вашим любимым MOV AL,1 и RET, но мне понравился просто RET.
Добавить комментарий
Заполните форму для добавления комментария