CrackMe#3 by Taha

Discussion in 'Реверсинг' started by taha, 18 Nov 2006.

  1. taha

    taha Elder - Старейшина

    Joined:
    20 Aug 2006
    Messages:
    399
    Likes Received:
    330
    Reputations:
    251
    Вот недавно написал новый CrackMe. В нём я немного повторился (пусть это будет подсказкой).
    http://slil.ru/23426600
    Да, hidden +x(крякми) +3(на асме) :) :). Шутка.
    ____________________________
    В крякми только-что обнаружился недостаток. Несколько валидных ключей.
    ProTeuS можешь удалить тему если хочешь.
    Я осознал свою ошибку спасибо BUG(O)R'у.
     
    #1 taha, 18 Nov 2006
    Last edited: 18 Nov 2006
    3 people like this.
  2. Reject

    Reject Member

    Joined:
    19 Oct 2006
    Messages:
    35
    Likes Received:
    8
    Reputations:
    17
    Не закачивай пожалуйста больше ничего на slil.ru. спасибо.
     
  3. taha

    taha Elder - Старейшина

    Joined:
    20 Aug 2006
    Messages:
    399
    Likes Received:
    330
    Reputations:
    251
    с прогрессбарами больше не связываюсь
     
  4. hidden

    hidden 7H3 0N3

    Joined:
    23 Apr 2006
    Messages:
    550
    Likes Received:
    332
    Reputations:
    386
    То что я говорил, насчёт этой структуря, не значит что я не знаю что у неё в нулевом элементе, это слишком важный элемент, чтоб его не знать. ;)
    Уже на этапе завершения, а тут срочно уходить надо, позже продолже :(
     
    #4 hidden, 18 Nov 2006
    Last edited: 18 Nov 2006
    1 person likes this.
  5. hidden

    hidden 7H3 0N3

    Joined:
    23 Apr 2006
    Messages:
    550
    Likes Received:
    332
    Reputations:
    386
    Эх выкроил ещё 5 минут, молодец хороший крякми, помогло знание опкодов, нехороший ключик ты выбрал :rolleyes: ...
    +2 КрякМи, +2 Асм
     
    #5 hidden, 18 Nov 2006
    Last edited: 20 Nov 2006
  6. taha

    taha Elder - Старейшина

    Joined:
    20 Aug 2006
    Messages:
    399
    Likes Received:
    330
    Reputations:
    251
    Приятно слышать(читать) это от тебя.
    Но всё таки я не разделяю твоего оптимизма.
    Вообще пасс - 1037.
    Он преобразовывается так
    Code:
    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 будет иметь следующие параметры:
    Code:
    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. получится следующее.
    Code:
    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 прогрессбару. Но я считаю, что это было бы не совсем честно по отношению к вам. Сам бы не хотел искать иголку в стоге сена.
    Вобщем ошибку понял, исправлюсь!
    Хорошо, только скажи куда сливать, чтоб форма да логотип и без метров рекламы.
     
  7. hidden

    hidden 7H3 0N3

    Joined:
    23 Apr 2006
    Messages:
    550
    Likes Received:
    332
    Reputations:
    386
    Как я его получил:
    Небольшой фрагмент програмы, XOR'ится одним байтом, но впадряд идущие 3 одинаковых байта, это наиболее вироятно nop инструкции
    95 95 95 6F 05 95 95 95 95 6F 05 95 90
    но у nop инструкции код 0x90, несложные логические операции: (0x90^0x95)+(1<<3)=13 дали мне это число.

    Я не знаю зачем ты запихаешь 1037 в переменную al(byte), думаю то что ты от него отнимаешь 8 можно не учитывать, но если это так не задумано, то тебя прислудует число 13, потому что 1037&255 = 13 и это вполне валидный и более правильнй пас, чем тот который привёл ты, кстате количестко заксориваемых байт тоже 0xD = 13 ;)
     
  8. ProTeuS

    ProTeuS --

    Joined:
    26 Nov 2004
    Messages:
    1,239
    Likes Received:
    541
    Reputations:
    445
    к сожалению не было времени поковырять сабж =(

    >>бы сказал в его отсутствии, поxorивание- этож разве шифрование

    но даже по солюшнам все оценили "красоту" крякмиса, а не стойкость криптоалго, в нем использованого, т.к. последнее врядли может быть ка4ественным критерием оценки сложности взлома самого крякми и гарантом не существования в нем коллизий

    >>Хорошо, только скажи куда сливать, чтоб форма да логотип и без метров рекламы.
    рапида.ком
     
    #8 ProTeuS, 21 Nov 2006
    Last edited: 21 Nov 2006
  9. taha

    taha Elder - Старейшина

    Joined:
    20 Aug 2006
    Messages:
    399
    Likes Received:
    330
    Reputations:
    251
    Не очень люблю рапиду, но ладно так и быть.