![]() |
ZloY CrackmE $1
Цель: найти ключ =)
Написан на делфи. Упакован FSG. http://slil.ru/23819287 Ломало пока что человек ...5 - никто не сломал :rolleyes: :o http://slil.ru/23819287 |
Первый опыт антиотладки?? весьма насыщено!!
Все эти DebugBreak, вшитые IsDebuggerPresent фитчи со стеком. Сильно вобщем! |
Снял FSG за несколько секунд. Скрыл IsDebuggerPresent.
Заставил ольку плевать на INT3. Крякмис ставит хук на SuspendThread? Чето олька не хочет останавливать поток )) В целом - неплохо :) Мне уже нравится. |
Перезалейте, пожалуйста
|
Вот http://ifolder.ru/1003816
|
Как ребенок повелся на CreateProcessA =) лол
|
4есснгря, не вижу ни4его интересного. кол-вермишель и засраный код, снимается только исходя из нали4ия у крякиръя терпения и пары 4асов свободного времени - не концептуально имхо
|
Итак, как я понял алго такой. Пароль читается из окошка. По таблице составляется строка. Эта строка пишется в поле пароля. Дальше опять читается пароль, который прога составила из прошлого, обрабатывает по таблице и получает ещё один новый пароль. И так n-число раз. После видимо в поле должно появиться наше имя, ибо там видно strcmp. Обратно считать алго влом. Нету времени. Может позже сделаю киген.
ЗЫ: если что не так поправь [ADDED] хм, значит пасс должен быть кратен четырём. причём после каждой итерации. если хоть после одного преобразования там не кратное четырём число - в поле пишется пустота. основное условие для проверки - чтобы после всех преобразований там был текст. копаю дальше. ЗЫ: это больше напоминает брутфорс. для крякми достаточно было и штук 3 итераций, а не 10. от этого суть защиты не меняется [ADDED] Вобщем это очень сильно напоминает хэширование по таблице. Причём хэшируем результат предыдущего хэширования. Вобщем мне совсем не хочется разбираться с этим гавналго. Есть подозрение что вообще есть только одна комбинация имя-пароль. Если что неправильно понял поправь. Код:
00451932 |. 8A5411 FF |MOV DL,BYTE PTR DS:[ECX+EDX-1]Код:
0045193E |. 50 |PUSH EAX ; |destКод:
00451950 |. 58 |POP EAX ; адрес символаищем байт имени Код:
00451956 |. 85C0 |TEST EAX,EAXесли нет то пропускаем хэширование как таковое поскипано, ибо то же что и было выше Код:
00451988 |. 48 |DEC EAXКод:
004519AA |. 8AC3 |MOV AL,BLКод:
004519B8 |. 8BD7 |MOV EDX,EDIТак как число иетраций 3, значит на каждой четвёрке теряем один байт. Чтобы записалось кратное четырём нужно задать первый пасс длиной кратной шестандцати. ЗЫ: почти сплю, поэтому вероятны ошибки. ЗЫЗЫ: хз, можно ли алго обратить, возможно и можно. Но терять время реально влом. |
Ra$cal,вроде все верно тока существует говноалго где мона генить неорганиченно количество ключей )
Цитата:
|
zl0Y
Лучше вместо mov al,al много раз использовать один раз что то подобное Asm db $eb,$01,$a1 // так код не похож на издевательский end; Вопросик : Чтобы нормально побрутить я отключил Timer. Он вообще в проверке key участвует? Если участвует, то искать key, я пас. А так по любому +. |
| Время: 04:15 |