Тема: CrackMe#3 by Taha
Показать сообщение отдельно

  #6  
Старый 20.11.2006, 12:32
taha
Постоянный
Регистрация: 20.08.2006
Сообщений: 327
Провел на форуме:
2472378

Репутация: 1077
По умолчанию

Цитата:
молодец хороший крякми
Приятно слышать(читать) это от тебя.
Но всё таки я не разделяю твоего оптимизма.
Вообще пасс - 1037.
Он преобразовывается так
Код:
004022EC   33DB             XOR EBX,EBX
004022EE   43               INC EBX
004022EF   C1E3 03          SHL EBX,3
004022F2   2BC3             SUB EAX,EBX
В итоге должно получится 405h.
Это сообщение отправляется прогрессбару.
И он увеличивает CurrentStep dd ? на некую const.
За всю программу это сообщенние отправляется два раза. Вконце прога смотрит полностью ли заполнен прогрессбар. И в зависимости от ответа выдаёт мессагу.
Также поставлен SEH на зашифрованную часть кода, если вдруг там будет невыполнимое действие.
После расшифровки SendMessage будет иметь следующие параметры:
Код:
00402322   90               NOP
00402323   90               NOP
00402324   90               NOP
00402325   6A 00            PUSH 0
00402327   90               NOP
00402328   90               NOP
00402329   90               NOP
0040232A   90               NOP
0040232B   6A 00            PUSH 0
0040232D   90               NOP
0040232E   90               NOP
0040232F   68 05040000      PUSH 405
00402334   FF35 A4404000    PUSH DWORD PTR DS:[4040A4]
Ошибка в том, что можно подобрать такой пасс, что прога будет расшифровывать не все параметры. И отправит их прогрессбару. например 312131. получится следующее.
Код:
00402322   AE               SCAS BYTE PTR ES:[EDI]
00402323   AE               SCAS BYTE PTR ES:[EDI]
00402324   AE               SCAS BYTE PTR ES:[EDI]
00402325   54               PUSH ESP
00402326   3E:AE            SCAS BYTE PTR ES:[EDI]
00402328   AE               SCAS BYTE PTR ES:[EDI]
00402329   AE               SCAS BYTE PTR ES:[EDI]
0040232A   AE               SCAS BYTE PTR ES:[EDI]
0040232B   54               PUSH ESP
0040232C   3E:AE            SCAS BYTE PTR ES:[EDI]
0040232E   90               NOP
0040232F   68 05040000      PUSH 405
00402334   FF35 A4404000    PUSH DWORD PTR DS:[4040A4]
Как оказалось, или я что не так понял, прогрессбару нассрать что ему отправляют, и CurrentStep dd ? всё равно будет увеличен на некую const.
По мнению BUG(O)R'а проблема в алго шифрования( ябы сказал в его отсутствии, поxorивание- этож разве шифрование). Я думаю, что для любого алго найдётся такой ключ, что не возникнет искл. ситуация.
У меня есть более реальная мысль, думаю нужно создать новое сообщение для окна уж оното не будет принимать что попало и в нём создать SendMessage прогрессбару. Но я считаю, что это было бы не совсем честно по отношению к вам. Сам бы не хотел искать иголку в стоге сена.
Вобщем ошибку понял, исправлюсь!
Цитата:
Не закачивай пожалуйста больше ничего на slil.ru. спасибо.
Хорошо, только скажи куда сливать, чтоб форма да логотип и без метров рекламы.
 
Ответить с цитированием