Сейчас на форуме: _MBK_ (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Исследование RAR Password Recovery 5.0
Посл.ответ Сообщение

Ранг: 3.7 (гость)
Активность: 0=0
Статус: Участник

Создано: 25 декабря 2010 13:20
· Личное сообщение · #1

Всем привет!
Пытаюсь исследовать шароварную прогу RAR Password Recovery 5.0. Версия Trial. Скачал её по ссылке:http://www.recoverlostpassword.com/downloads/rar_password_recov ery_trial.exe
PEiD сказал, что это Microsoft Visual C++ 8.0 *
Я загнал её в OllyDbg_1.10. Постановка бряков, чтобы отловить окно о неправильном коде ни к чему не привели, нашёл по all referenced text string строки: "Thank you for registering RAR Password Recovery!", "The Code you've entered invalid!"
попал в это место:
00401CD2 . E8 E9370000 CALL RarPassw.004054C0
00401CD7 . 85C0 TEST EAX,EAX
00401CD9 . 74 3E JE SHORT RarPassw.00401D19 Здесь поставил бряк
00401CDB . 6A 30 PUSH 30 ; /Arg3 = 00000030
00401CDD . 68 00DA4A00 PUSH RarPassw.004ADA00 ; |Arg2 = 004ADA00
00401CE2 . 68 20DA4A00 PUSH RarPassw.004ADA20 ; |Arg1 = 004ADA20 UNICODE "The Code you've entered invalid!"
……..
00401D19 > 8D7C24 0C LEA EDI,DWORD PTR SS:[ESP+C]
00401D1D . E8 8E420000 CALL RarPassw.00405FB0 Здесь тоже бряк
00401D22 . 6A 40 PUSH 40 ; /Arg3 = 00000040
00401D24 . 68 00DA4A00 PUSH RarPassw.004ADA00 ; |Arg2 = 004ADA00
00401D29 . 68 68DA4A00 PUSH RarPassw.004ADA68 ; |Arg1 = 004ADA68 UNICODE "Thank you for registering RAR Password Recovery!"
00401D2E . 8BCE MOV ECX,ESI ; |
00401D30 . E8 6FD80500 CALL RarPassw.0045F5A4 ; \RarPassw.0045F5A4

Первый раз после ввода неправильного пароля меня выкинуло на JE SHORT RarPassw.00401D19, в окне регистров поменял флаг нуля, тормознулся на 00401D1D . E8 8E420000 CALL RarPassw.00405FB0 и предвкушая, что сейчас выскочит окно: "Thank you for registering RAR Password Recovery!", нажал F9. выкинуло меня на обработчике исключений:

00340046 FFD0 CALL EAX ; ntdll.RtlRaiseException
00340048 C2 0400 RETN 4 Здесь!
0034004B 0000 ADD BYTE PTR DS:[EAX],AL

Олька сказала Exception E 06D7363 - use Shift+F7/F8/F9 to pass exception to program.
После нажатия Shift+F9 прога завешилась окном винда: «Произошла ошибка, программа будет закрыта, приносим извинения...»
Внутри 00401CD2 CALL RarPassw.004054C0 для меня наступает тёмный лес. Никак не могу просечь алгоритм, т.к. используется длина ID процессора, какие-то цифровые ANSII строки, вероятно вычисляется контрольная сумма? Не могу найти действий с вводимым паролем, кроме вычисления его длины. Меня просто выкидывает из проги .
Попасть на 00401CD9 JE SHORT RarPassw.00401D19 я не могу, т.к. в недрах 00401CD2 CALL RarPassw.004054C0 я попадаю на обработчик исключений. Пробовал удалять прогу, все записи о ней в реестре, переустанавливал, но всё также.
Подскажите, пожалуйста, на чём сконцентрировать усилия, в какую сторону двигаться далее, как уйти от проверок на отладку, похоже, что плугина HideDebagger 123. с его возможностями не хватает, пробовал вручную обнулять при нахождении в точке входа ,байты NTGlobalFlag и ProcessHeap, не помогает. Где-то защита меня цепляет?



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 25 декабря 2010 14:00
· Личное сообщение · #2

нужно чтоб CALL 004054C0 возвращал 0 т.е. по адресу 00405B48 написать xor eax,eax и ввести любой 16ти значный код.
з.ы. какая-то тупая прога, ресурсов жрет как слон, при том медленная как улитка.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 25 декабря 2010 14:04 · Поправил: PE_Kill
· Личное сообщение · #3

Forester не всё можно отладить. Ты писал:

00401CD2 . E8 E9370000 CALL RarPassw.004054C0
00401CD7 . 85C0 TEST EAX,EAX
00401CD9 . 74 3E JE SHORT RarPassw.00401D19 Здесь поставил бряк


Я скачал программу. Зашел в CALL RarPassw.004054C0 и пропатчил там начало функции так:
Code:
  1. 004054C0  /$  33C0          XOR EAX,EAX
  2. 004054C2  \.  C3            RETN

Всё, сохранил перезапустил, прога не зарегана. Нажал Register, ввел 112233, Ok. Прога выдала что зарегана и создала файл UNlock.dat. Перезапустил - всё зареганая программа.

PS. Vovan666 опередил

-----
Yann Tiersen best and do not fuck




Ранг: 3.7 (гость)
Активность: 0=0
Статус: Участник

Создано: 25 декабря 2010 19:53
· Личное сообщение · #4

Однако, довольно простое решение. Честно говоря я предполагал, что потребуется найти алгоритм кодирования введённого пароля, разместить в конце секции брутфорсер и ждать когда он переберёт все варианты.
Тем не менее прога зарегана, огромное спасибо за подсказку в решении Vovan666 и PE_Kill.
Думаю, вопрос исчерпан.




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 25 декабря 2010 20:09
· Личное сообщение · #5

Раз исчерпан, тогда закрою.


 eXeL@B —› Вопросы новичков —› Исследование RAR Password Recovery 5.0
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати