Войти

Показать полную графическую версию : Нужен брутфорс


Страниц : 1 [2]

yurfed
29-04-2007, 06:29
Erekle "держит наготове" пароль в памяти, чтобы сравнить с введенным? это в самом простом варианте.
Обычно сравнивается побайтово, каждый раз джампами возвращаясь к следующему символу или в начале сравнивается длинна. Может стоять и генератор пароля на введённое имя. Собсно отсюда и делают кейгены взяв кусок кода из программы. Обнуляют проверку пароля или перепрыгивают этот участок. Вариантов очень много.

Вот про что вспомнил
http://img207.imageshack.us/img207/8973/mprkf2.th.png (http://img207.imageshack.us/my.php?image=mprkf2.png)
Multi Password Recovery 1.0.3 - многофункциональное решение для Windows 95/98/W2K/XP/2K3 по расшифровке и тестировании паролей на стойкость. MPR автоматически находит и мгновенно расшифровывает пароли из более чем 60 популярных программ, при этом не требуя вмешательства пользователя. Кроме расшифровки, показывает пароли под здездочками, позволяет скопировать SAM файл, сгенерировать новый пароль, сохранить отчеты на жесткий диск. В W2K/XP/2K3 обрабатывает заблокированные для чтения файлы и показывает регистрационный ключ Windows. Для программистов доступен Plugin API, позволяющий расширить возможности программы.
Возможности
* "Все-в-одном" - нет необходимости покупать/использовать несколько различных решений по восстановлению паролей
* Чтение паролей под звездочками
* Удаление сохраненных паролей
* Аудит паролей (проверка на стойкость)
* Поддержка плагинов, расширяющих функциональность программы
* Копирование SAM файла
* Обработка заблокированных для чтения файлов
* Сохранение отчетов в файл
* Встроенный мастер, позволяющий явно указать файл с паролями
* Интерфейс программы на многих языках (Русский, Английский, Украинский, Белорусский, Нидерландский, Немецкий, Венгерский, Упрощенный Китайский)
http://philka.ru/comment.php?comment.news.2265

Правда на него ругаются антивирусы. DrWEB назвал его Trojan.PWS.Multi. Но это и понятно. За основу для извлечения паролей взят алгоритм вируса.

xoomer
29-04-2007, 12:30
yurfed
Positive. :)
Пароль:
m0t***-***CARc

Уходим от первоначальной темы. Это обсуждается не здесь. Варезные и крякерские сайты.
3.18 пункт правил этого форума...
Поддерживаю. :)

Erekle
Они просто показывают состояние выполняемого файла/dll в памяти и FPU.
Эти дебаггеры показывают, как файл или приложение "держит наготове" пароль в памяти, чтобы сравнить с введенным?
Можно так сказать. Но бывают и другие случаи. Я не взламывал, но знаю, что его можно зашифровать (скрыть) определёнными алгоритмами.

Сейчас постарался сразу с РАР-ом - ничего не вышло, конечно.
RAR шифрует,но:
Куча сложных джампов по всей системе и алгоритм шифровки. Однако поглядеть и разобраться кто куда (адрес) прыгает...). Терпение и среднее знание зделают своё дело.

yurfed
29-04-2007, 19:44
xoomer Вел-вел, m0t***-***CARc,
ну в принипе ясно в дело? Поздравлямс!
Дальше - сложнее. Будешь продолжать?

xoomer
30-04-2007, 00:31
yurfed
Будешь продолжать?
Да.

yurfed
30-04-2007, 06:28
xoomer Вот ещё, имя и пасс (крякмис не нопить)
ЗЫ а кстати, чем пользовался (дебагил)? Это очень интересно.
ЗЗЗЗЫЫЫ перемести наш базар куда нибудь в другую тему. Только ссылку оставь - куда переместил.
А то как-то не хорошо ;)

xoomer
01-05-2007, 18:37
yurfed
ЗЗЗЗЫЫЫ перемести наш базар куда нибудь в другую тему. Только ссылку оставь - куда переместил.
Это к товариищам, Greyman и kim-aa.

чем пользовался (дебагил)? Это очень интересно.
OLLYDBG.

Вобщем заминка вышла.
Понял что кей не зависит о имени. Так?
Кей находится по адресу: 00403184, а имя: 00403084. Нас интересует кей.

004011D3 |> 6A 00 PUSH 0 ; /lParam = NULL
004011D5 |. 68 98124000 PUSH CRACKME4.00401298 ; |DlgProc = CRACKME4.00401298
004011DA |. FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |hOwner
004011DD |. 68 14304000 PUSH CRACKME4.00403014 ; |pTemplate = "AboutDialog"
004011E2 |. FF35 7C304000 PUSH DWORD PTR DS:[40307C] ; |hInst = 00400000
004011E8 |. E8 79010000 CALL <JMP.&USER32.DialogBoxParamA> ; \DialogBoxParamA
004011ED |. 68 E8030000 PUSH 3E8 ; /ControlID = 3E8 (1000.)
004011F2 |. FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |hWnd
004011F5 |. E8 7E010000 CALL <JMP.&USER32.GetDlgItem> ; \GetDlgItem
004011FA |. 50 PUSH EAX ; /hWnd
004011FB |. E8 BA010000 CALL <JMP.&USER32.SetFocus> ; \SetFocus
00401200 |. E9 8D000000 JMP CRACKME4.00401292
00401205 |> 68 00010000 PUSH 100 ; /Count = 100 (256.)
0040120A |. 68 84304000 PUSH CRACKME4.00403084 ; |Buffer = CRACKME4.00403084
0040120F |. 68 E8030000 PUSH 3E8 ; |ControlID = 3E8 (1000.)
00401214 |. FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |hWnd
00401217 |. E8 62010000 CALL <JMP.&USER32.GetDlgItemTextA> ; \GetDlgItemTextA
0040121C |. 68 00010000 PUSH 100 ; /Count = 100 (256.)
00401221 |. 68 84314000 PUSH CRACKME4.00403184 ; |Buffer = CRACKME4.00403184
00401226 |. 68 E9030000 PUSH 3E9 ; |ControlID = 3E9 (1001.)
0040122B |. FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |hWnd
0040122E |. E8 4B010000 CALL <JMP.&USER32.GetDlgItemTextA> ; \GetDlgItemTextA
00401233 |. FF75 08 PUSH DWORD PTR SS:[EBP+8]
00401236 |. E8 BE000000 CALL CRACKME4.004012F9
0040123B |. 83F8 00 CMP EAX,0
0040123E |. 74 15 JE SHORT CRACKME4.00401255
00401240 |. 6A 40 PUSH 40 ; /Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL
00401242 |. 68 29304000 PUSH CRACKME4.00403029 ; |Title = "Check Serial"
00401247 |. 68 60304000 PUSH CRACKME4.00403060 ; |Text = "You got it! Congrats! :)"
0040124C |. 6A 00 PUSH 0 ; |hOwner = NULL
0040124E |. E8 49010000 CALL <JMP.&USER32.MessageBoxA> ; \MessageBoxA
00401253 |. EB 13 JMP SHORT CRACKME4.00401268
00401255 |> 6A 30 PUSH 30 ; /Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL
00401257 |. 68 29304000 PUSH CRACKME4.00403029 ; |Title = "Check Serial"
0040125C |. 68 36304000 PUSH CRACKME4.00403036 ; |Text = "Wrong Serial! Keep trying, you'll get it!"
00401261 |. 6A 00 PUSH 0 ; |hOwner = NULL
00401263 |. E8 34010000 CALL <JMP.&USER32.MessageBoxA> ; \MessageBoxA
00401268 |> 68 E8030000 PUSH 3E8 ; /ControlID = 3E8 (1000.)
0040126D |. FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |hWnd
00401270 |. E8 03010000 CALL <JMP.&USER32.GetDlgItem> ; \GetDlgItem
00401275 |. 50 PUSH EAX ; /hWnd
00401276 |. E8 3F010000 CALL <JMP.&USER32.SetFocus> ; \SetFocus

Где подчёркнуто - ставил брекпоинт.

Вот насчёт первой бряки:

0013FC2C 001004D4 |hWnd = 001004D4 ('FaNt0m's Crackme #4',class='DLGCLASS')
0013FC30 000003E9 |ControlID = 3E9 (1001.)
0013FC34 00403184 |Buffer = CRACKME4.00403184
0013FC38 00000100 \Count = 100 (256.)
0013FC3C /0013FC68
0013FC40 |7E368724 RETURN to USER32.7E368724
0013FC44 |001004D4
0013FC48 |00000111
0013FC4C |000003EA
0013FC50 |001C0424
0013FC54 |00401123 CRACKME4.00401123
0013FC58 |DCBAABCD
0013FC5C |00000000
0013FC60 |0013FCA4
0013FC64 |00401123 CRACKME4.00401123
0013FC68 ]0013FCD0
0013FC6C |7E368806 RETURN to USER32.7E368806 from USER32.7E3686FC
0013FC70 |00401123 CRACKME4.00401123
0013FC74 |001004D4
0013FC78 |00000111

И насчёт второй

0013FC38 001004D4
0013FC3C /0013FC68
0013FC40 |7E368724 RETURN to USER32.7E368724
0013FC44 |001004D4
0013FC48 |00000111
0013FC4C |000003EA
0013FC50 |001C0424
0013FC54 |00401123 CRACKME4.00401123
0013FC58 |DCBAABCD
0013FC5C |00000000
0013FC60 |0013FCA4
0013FC64 |00401123 CRACKME4.00401123
0013FC68 ]0013FCD0
0013FC6C |7E368806 RETURN to USER32.7E368806 from USER32.7E3686FC
0013FC70 |00401123 CRACKME4.00401123
0013FC74 |001004D4
0013FC78 |00000111
0013FC7C |000003EA
0013FC80 |001C0424
0013FC84 |00000111
0013FC88 |0069CD90
0013FC8C |0069CDA4
0013FC90 |00000014
0013FC94 |00000001
0013FC98 |00000000
0013FC9C |00000000
0013FCA0 |00000010
0013FCA4 |00000000
0013FCA8 |7E36B4B0 RETURN to USER32.7E36B4B0 from USER32.7E36874F
0013FCAC |00000001
0013FCB0 |00000000
0013FCB4 |00000000
0013FCB8 |0013FC84
0013FCBC |00000000
0013FCC0 |0013FE88 Pointer to next SEH record
0013FCC4 |7E390477 SE handler
0013FCC8 |7E368820 USER32.7E368820
0013FCCC |00000000
0013FCD0 ]0013FD0C

Чего-то я здесь не пойму. Где кей или какая-то закономерность?

yurfed
01-05-2007, 19:18
xoomer а ты как бряки ставишь? На адрес или API-модуль (типа GetDlgItemTextA)?

xoomer
01-05-2007, 19:23
yurfed
На адрес вроде.

yurfed
01-05-2007, 19:56
xoomer ставь на диалоговое окно и уже от него будешь плясать (bpx GetDlgItemTextA или MessageBoxA или GetWindowTextA и прочее). Соблюдай большие и малые буквы.
Зайди http://www.cracklab.ru/ (вроде давал уже) это будет всё что ты хотел.




© OSzone.net 2001-2012