Исследование защиты программы RAR Password Recovery Magic
Скриншот программы RAR Password Recovery Magic
Программа RAR Password Recovery Magic предназначена для восстановления забытых паролей к архивам RAR. Скорость работы существенно уступает топовым аналогам, так что программа сгодится исключительно для экспериментов. Пытается подобрать пароли по заранее созданному словарю, а также прямым перебором (brute-force). Настройки скудноваты, видимо вся энергия авторов ушла на написание интерфейса с поддержкой графического скина, или же в свое время это была чья-то лабораторная по информатике. К минусам можно отнести еще и шароварность.
Скачиваем дистрибутив, устанавливаем, запускаем. На запрос регистрации введем любые неправильные данные, получим сообщение "You are unsuccessful!". Запускающий файл ничем не упакован, строка сообщения обнаруживается в секции данных:
Code (Assembler) : Убрать нумерацию
- CODE:004A2B1C _str_You_are_unsucce dd 0FFFFFFFFh ; _top
- CODE:004A2B1C dd 21 ; Len
- CODE:004A2B1C db 'You are unsuccessful!',0; Text
Code (Assembler) : Убрать нумерацию
- DATA:004ACB0C off_4ACB0C dd offset _str_You_are_unsucce.Text
- DATA:004ACB0C ; DATA XREF: sub_4A3EAC+1DA
- DATA:004ACB0C ; sub_4A4170+16C...
Code (Assembler) : Убрать нумерацию
- DATA:004AD118 off_4AD118 dd offset off_4ACB0C
- ; DATA XREF: _TCode_btnOkClick+DA
Code (Assembler) : Убрать нумерацию
- ...
- CODE:004A4EFD call @Controls@TControl@GetText$qqrv
- ; Controls::TControl::GetText(void)
- CODE:004A4F02 mov eax, [ebp+var_4]
- CODE:004A4F05 push eax
- CODE:004A4F06 lea edx, [ebp+var_8]
- CODE:004A4F09 mov eax, [ebx+308h]
- CODE:004A4F0F call @Controls@TControl@GetText$qqrv
- ; Controls::TControl::GetText(void)
- CODE:004A4F14 mov edx, [ebp+var_8]
- CODE:004A4F17 mov eax, ds:off_4ACC58
- CODE:004A4F1C mov eax, [eax]
- CODE:004A4F1E mov eax, [eax+370h]
- CODE:004A4F24 pop ecx
- ; Вызвать функцию проверки введенных данных
- CODE:004A4F25 call @Sqledit@EditSQL$qqrp16Classes
- CODE:004A4F2A test al, al
- ; Если функция вернула AL = 0, то введенные данные неправильные
- CODE:004A4F2C jz short loc_4A4FA3
- ; Программа успешно зарегистрирована
- CODE:004A4F2E mov edx, ds:off_4ACDD8
- CODE:004A4F34 mov edx, [edx]
- CODE:004A4F36 mov eax, ds:off_4ACC58
- CODE:004A4F3B mov eax, [eax]
- ...
- ; Часть кода пропущена
- ...
- CODE:004A4FA1 jmp short loc_4A4FC6
- CODE:004A4FA3 ; ----------------------------------------------------
- CODE:004A4FA3 loc_4A4FA3:
- ; Показать сообщение о неправильном серийном номере
- CODE:004A4FA3 push 10h ; uType
- CODE:004A4FA5 mov eax, ds:off_4ACE88
- CODE:004A4FAA mov eax, [eax]
- CODE:004A4FAC call @System@@LStrToPChar$qqrx17System
- ; System::__linkproc__ LStrToPChar(System::AnsiString)
- CODE:004A4FB1 push eax ; lpCaption
- CODE:004A4FB2 mov eax, ds:off_4AD118
- CODE:004A4FB7 mov eax, [eax]
- CODE:004A4FB9 call @System@@LStrToPChar$qqrx17System
- ; System::__linkproc__ LStrToPChar(System::AnsiString)
- CODE:004A4FBE push eax ; lpText
- CODE:004A4FBF push 0 ; hWnd
- CODE:004A4FC1 call MessageBoxA_0_0
- ...
Пошаговая трассировка
Если внимательно наблюдать за стеком, то можно заметить, что после этого в нем появилось еще одно интересное значение, очень похожее на какой-то серийный номер:
Серийный номер найден
Далее в регистры EAX и EDX заносится новая строка и введенный серийный номер, и по адресу 00490F81 выполняется их сравнение. Предположим, что это и есть правильный серийный номер для введенного имени. Скопируем его и повторим регистрацию, но уже с ним.
Программа успешно зарегистрирована
Как видим, наша догадка подтвердилась и регистрация прошла успешно. Теперь можно побаловаться и самой программой, чтобы убедиться в ее несостоятельности. Вот такая никому не нужная программа с никчемной защитой. Дорогие товарищи программисты, пожалуйста, никогда не пишите подобный софт! В интернете и без того слишком много хлама!
Просмотров: 5653 | Комментариев: 3
Метки: исследование защиты
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
INC.
(10.01.2010 в 08:38):
Баг детектед
как вариант можете попробовать
Advanced RAR Password Recovery (http://www.passwords.ru/progs_rus.php)
WinRar Password Remover (_http://www.intelore.com/rar_password_recovery.php)
ManHunter
Очередной раз большое спасибо за статью.
ps: скриншоты не обрезал.
как вариант можете попробовать
Advanced RAR Password Recovery (http://www.passwords.ru/progs_rus.php)
WinRar Password Remover (_http://www.intelore.com/rar_password_recovery.php)
ManHunter
Очередной раз большое спасибо за статью.
ps: скриншоты не обрезал.
Баг детектед
(10.01.2010 в 06:47):
а какой аналогичный софт посоветуете?
Добавить комментарий
Заполните форму для добавления комментария
http://www.password-crackers.r...gram_13.html