PDA

Просмотр полной версии : ZloY CrackmE $1


zl0y
30.01.2007, 18:18
Цель: найти ключ =)
Написан на делфи.
Упакован FSG.
http://slil.ru/23819287
Ломало пока что человек ...5 - никто не сломал :rolleyes: :o

http://slil.ru/23819287

taha
30.01.2007, 18:26
Первый опыт антиотладки?? весьма насыщено!!
Все эти DebugBreak, вшитые IsDebuggerPresent фитчи со стеком.
Сильно вобщем!

_Great_
30.01.2007, 18:36
Снял FSG за несколько секунд. Скрыл IsDebuggerPresent.
Заставил ольку плевать на INT3.
Крякмис ставит хук на SuspendThread? Чето олька не хочет останавливать поток ))

В целом - неплохо :) Мне уже нравится.

Dude03
30.01.2007, 18:41
Перезалейте, пожалуйста

zl0y
30.01.2007, 18:43
Вот http://ifolder.ru/1003816

_Great_
30.01.2007, 19:23
Как ребенок повелся на CreateProcessA =) лол

ProTeuS
30.01.2007, 22:25
4есснгря, не вижу ни4его интересного. кол-вермишель и засраный код, снимается только исходя из нали4ия у крякиръя терпения и пары 4асов свободного времени - не концептуально имхо

Ra$cal
31.01.2007, 01:41
Итак, как я понял алго такой. Пароль читается из окошка. По таблице составляется строка. Эта строка пишется в поле пароля. Дальше опять читается пароль, который прога составила из прошлого, обрабатывает по таблице и получает ещё один новый пароль. И так n-число раз. После видимо в поле должно появиться наше имя, ибо там видно strcmp. Обратно считать алго влом. Нету времени. Может позже сделаю киген.
ЗЫ: если что не так поправь

[ADDED]
хм, значит пасс должен быть кратен четырём. причём после каждой итерации. если хоть после одного преобразования там не кратное четырём число - в поле пишется пустота. основное условие для проверки - чтобы после всех преобразований там был текст. копаю дальше.
ЗЫ: это больше напоминает брутфорс. для крякми достаточно было и штук 3 итераций, а не 10. от этого суть защиты не меняется
[ADDED]
Вобщем это очень сильно напоминает хэширование по таблице. Причём хэшируем результат предыдущего хэширования. Вобщем мне совсем не хочется разбираться с этим гавналго. Есть подозрение что вообще есть только одна комбинация имя-пароль. Если что неправильно понял поправь.

00451932 |. 8A5411 FF |MOV DL,BYTE PTR DS:[ECX+EDX-1]
00451936 |. E8 5D28FBFF |CALL <dmp_.@System@@LStrFromChar$qqrr17System@AnsiString c (REF 0>
байт из ключа приводим к строке.

0045193E |. 50 |PUSH EAX ; |dest
0045193F |. 8D45 F4 |LEA EAX,DWORD PTR SS:[EBP-C] ; |
00451942 |. 8B15 D44D4500 |MOV EDX,DWORD PTR DS:[454DD4] ; |dmp_.004518B8
00451948 |. E8 5B28FBFF |CALL <dmp_._strcpy> ; \_strcpy
копируем таблицу

00451950 |. 58 |POP EAX ; адрес символа
00451951 |. E8 5E2CFBFF |CALL <dmp_.@System@@LStrPos$qqrv> ; ищем этот символ в таблицеъ
ищем байт имени

00451956 |. 85C0 |TEST EAX,EAX
00451958 |. 74 46 |JE SHORT dmp_.004519A0
есть такой символ или нет
если нет то пропускаем хэширование как таковое

поскипано, ибо то же что и было выше

00451988 |. 48 |DEC EAX
00451989 |. 0FB7C0 |MOVZX EAX,AX
0045198C |. 33D2 |XOR EDX,EDX
0045198E |. 8AD3 |MOV DL,BL
00451990 |. B9 04000000 |MOV ECX,4
00451995 |. 2BCA |SUB ECX,EDX
00451997 |. 03C9 |ADD ECX,ECX
00451999 |. 8D0C49 |LEA ECX,DWORD PTR DS:[ECX+ECX*2]
0045199C |. D3E0 |SHL EAX,CL
0045199E |. 03F8 |ADD EDI,EAX
004519A0 |> 43 |INC EBX
004519A1 |. 80FB 05 |CMP BL,5

вот собсно хэшь. в eax положение байта в таблице. в edx счётчик цикла. вычитаем. получаем 3, 2, 1, 0. Умножаем ecx на 2. потом ещё на 2. и складываем. eax сдвинем на это число. число как можно понять зависит только от edx, то есть от счётчика цикла. eax сдвинули.

004519AA |. 8AC3 |MOV AL,BL
004519AC |. BA 03000000 |MOV EDX,3
004519B1 |. 2BD0 |SUB EDX,EAX
004519B3 |. 8BCA |MOV ECX,EDX
004519B5 |. C1E1 03 |SHL ECX,3
Опять что то с мутится со счётчкиом.

004519B8 |. 8BD7 |MOV EDX,EDI
004519BA |. D3EA |SHR EDX,CL
004519BC |. 81E2 FF000000 |AND EDX,0FF
вedi был хэш. значит опять чтото делаем и сохраняем младший байт. он и станет новой буквой в новом пароле.

Так как число иетраций 3, значит на каждой четвёрке теряем один байт. Чтобы записалось кратное четырём нужно задать первый пасс длиной кратной шестандцати.
ЗЫ: почти сплю, поэтому вероятны ошибки.
ЗЫЗЫ: хз, можно ли алго обратить, возможно и можно. Но терять время реально влом.

zl0y
31.01.2007, 05:38
Ra$cal,вроде все верно тока существует говноалго где мона генить неорганиченно количество ключей )

ProTeuS
Не суди сторого,с чего и ты начинал =) :rolleyes:

Xserg
31.01.2007, 10:39
zl0Y
Лучше вместо mov al,al много раз
использовать один раз что то подобное
Asm
db $eb,$01,$a1 // так код не похож на издевательский
end;

Вопросик :
Чтобы нормально побрутить я отключил Timer.
Он вообще в проверке key участвует?
Если участвует, то искать key, я пас.

А так по любому +.

zl0y
31.01.2007, 10:59
Xserg,да участвует это часть задумки =)

Ну отпишитесь кто нить нашел кто то ключ верный или нет =) ?

zl0y
31.01.2007, 12:52
Посоветовался с протеусом =)) После найденого валидноко ключа не кидать меня помидорами :) :(

Вечером выложу кейген ;) :D

Ra$cal
31.01.2007, 14:41
гм, ждём кому не жалко времени своего =)

_Great_
31.01.2007, 14:44
Меня заломало смотреть :)

Ra$cal
31.01.2007, 14:57
Кароч, если б это была программа которая нужна, её конечно доломать не проблема. Надо разобрать, какой элемент таблицы будет давать 0 при какой итерации хеша. И дальше смотреть что получится после десятого преобразования. Мне влом чёта кодить для крякми. Так что так. Крякми неломался не из-за сложности, это как в анеке про неуловимиого Джо ;)
ЗЫ: тут всё открыто и ясно. соглашусь с протеусом, что ничё выдающегося, то есть изюминки =)
ЗЫЗЫ: злой, поломай мой перывй крякми ;) Его никто не сломал ни здесь ни на кряклабе. по той же причине что и твой. ничё нового, делать много, а результат лишь моральное удовлетворение.

zl0y
31.01.2007, 16:30
Ссылочку кинь =)

Ra$cal
31.01.2007, 16:39
тема здесь была, ща не найду. толи стёрли то ли хз.
http://ifolder.ru/1010324 - вот крякми
Найди валидный ключ ;)

zl0y
31.01.2007, 17:02
Все как ты сказал =) http://img501.imageshack.us/img501/7813/1212dd0.jpg :o

Ra$cal
31.01.2007, 17:12
чё? Если ты про колы, то это CRT, я тут не при чём. Не в ту сторону ты смотришь. Алго совсем другой. Так что дерзай ;)