Crackmy2

Discussion in 'Реверсинг' started by Xserg, 5 Sep 2007.

  1. Xserg

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

    Joined:
    9 Dec 2006
    Messages:
    135
    Likes Received:
    127
    Reputations:
    53
    Типа сложный сломайменя для новичков.
    Для опытных крякеров, будет лень разбираться , значит тоже сложный.

    Подсказки:
    1. Таймер и Thread используются для дитекта дебугера (нестандартно).
    2. Не оставляйте без присмотра бряки по F2(olly)
    3. DR0..3 используются для распаковки скрытого кода.
    4. Переменная следящая за временем одна (сегмент данных)
    Сравнивается с регистрами в потоке и основном процессе.
    5. Патчить начиная с 0х401001 + 800 и скрытый код, нельзя (не распакуется)
    6. Если не дать создаться потоку, процесс завершится по таймеру.
    Если не дать создастся таймеру, процесс повиснет на sleep в SEH.
    Если вручную декрементировать нужную переменную, запустится под Олей.

    7. После введения правильного пароля, код проверки пароля не удаляется перед выводом сообщения.
    Здесь будет: Имя Пароль

    Удачи!
    Скачать Crackmy2.rar (2,35кб)
    http://ifolder.ru/3240637
     
    #1 Xserg, 5 Sep 2007
    Last edited: 7 Sep 2007
    4 people like this.
  2. Ni0x

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

    Joined:
    27 Aug 2006
    Messages:
    344
    Likes Received:
    157
    Reputations:
    37
    Поправка. Лень - не значит сложность, одно дело, когда сложность заключается в распаковке, другое, когда в анализе огромного количества арифметических операций.
     
  3. !_filin_!

    !_filin_! Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    87
    Likes Received:
    40
    Reputations:
    16
    хочется уточнить задачу....добится любым методом получения окна с надписью good password или предоставить логин и пароль? ( спрашиваю ибо были уже проблемы с кряками других авторов)
     
  4. Xserg

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

    Joined:
    9 Dec 2006
    Messages:
    135
    Likes Received:
    127
    Reputations:
    53
    Да нет там операций.

    Распаковка == ((1-xor , 1-rol ) * 400) + ( 100-xor dword)
    Дальше проверка введенной пары , вообще просто.
     
    #4 Xserg, 5 Sep 2007
    Last edited: 5 Sep 2007
  5. Xserg

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

    Joined:
    9 Dec 2006
    Messages:
    135
    Likes Received:
    127
    Reputations:
    53
    good password – Будут другие поздравления. :)

    Способ , если не оговорен - значит любой.
     
  6. GlOFF

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

    Joined:
    8 May 2006
    Messages:
    695
    Likes Received:
    484
    Reputations:
    4
    Xserg Жестока, Олька вылетает :( Пойду учиться работать в IDA...
    Будет очень интересно как начинающему потом узнать, если у самого не получиться, как обойти это!
     
  7. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    Олька норм пашет.
    На счёт сабжа - скучновато. Куча эксепшенов. Ничё нового. Тока ленивый не юзол регистры dr =)
     
  8. Xserg

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

    Joined:
    9 Dec 2006
    Messages:
    135
    Likes Received:
    127
    Reputations:
    53
    Прикол специально для Оли.
    Она слишком много времени тратит на обработку эксепшенов.
     
    1 person likes this.
  9. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    про медленность обработки знаю, лень искать место, которое следит за временем. а вообще делается так - пишется длл, инжектится, и логирует важные места. потом сравнивается под отладчегом =) А интересные места у тя - обработчик исключений и обработчик таймера.
     
  10. zeppe1in

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

    Joined:
    12 Jul 2006
    Messages:
    352
    Likes Received:
    66
    Reputations:
    18
    просто запускаю, ввожу логин пароль и 2 ошибки Debug Detected.
    непорядок)
     
  11. Xserg

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

    Joined:
    9 Dec 2006
    Messages:
    135
    Likes Received:
    127
    Reputations:
    53
    Тестил только под XP.
    Поподробнее можно система,процессор,шина.
     
  12. GlOFF

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

    Joined:
    8 May 2006
    Messages:
    695
    Likes Received:
    484
    Reputations:
    4
    zeppe1in У меня норма!

    Xserg А если сделать прожку, которая будет исправлять байты памяти на нужные. Т.е. будет править GLOBAL Tic db ? GLOBAL flag dw ? GLOBAL Tic1 dd ?
    Прокатит? :)
     
  13. Xserg

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

    Joined:
    9 Dec 2006
    Messages:
    135
    Likes Received:
    127
    Reputations:
    53
    Честно говоря , я пока не нашел простого решения, сломать этот крякми.

    Думал мне здесь помогут.

    Помог только Ra$cal - динамически плавающий массив, переменных с мусором, поможет укрепить защиту.
     
  14. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,650
    Likes Received:
    754
    Reputations:
    397
    У вас все методы - противодействие отладки "риал-тайма", как то - всякие таймеры, потоки, эксплойты к ollydbg и т.п., смысла в этом помоему ноль. Даешь методы статичной антиотладки - как то - vm, крипт rsaшными ключами, свои загрузчики, дрова етц.
     
  15. ProTeuS

    ProTeuS --

    Joined:
    26 Nov 2004
    Messages:
    1,266
    Likes Received:
    542
    Reputations:
    445
    лол стати4ная антиотладка
    рса сакс, т.к. актуальная факторизация и подмена экспонент, загруз4ик, дров и ВМ концептуально не лу4ше таймеров, т.к. если код выполняется в памяти, то возможность взлом можно только минимизировать, даже если ты и умеешь писать драйвера =\
     
  16. Xserg

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

    Joined:
    9 Dec 2006
    Messages:
    135
    Likes Received:
    127
    Reputations:
    53
    Это же какой никакой, а крякми.

    Все методы, имеют право на существование.
    До сих пор , во многих программах используется, IsDebuggerPresent

    //offtop
    В пятницу , скажем так, посмотрел, защиту программы (стоимостью 15000р).
    Oдних дллок штук 50 и одна с глупым названием protect.dll
    Там этого г.. про которое ты говоришь, много ..
    Вся защита слетела патчем одного байта, найденного откаткой назад, сообщения об установке не на тот компьютер.
    Правда, один ключ пришлось купить.
     
  17. Xserg

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

    Joined:
    9 Dec 2006
    Messages:
    135
    Likes Received:
    127
    Reputations:
    53
    Потестил 5000 исключений под разными отладчиками
    XP(sp2) AMD64 3500+ , DDR2-800мгц

    Code:
    var i,x,y:dword;
        T1,T2:dword;
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    memo1.Lines.Clear;
    T1:=GetTickCount;
    asm
    rdtsc
    mov T2,eax
    end;
    for i:=0 to 5000 do
     try
      asm mov [$ffffffff],eax end;
      except
       on е:Exception do begin
                         X:=e.InstanceSize;
                         Y:=X*12345678;
                         end;
     end;
    asm
    rdtsc
    clc
    sub eax,T2
    mov T2,eax
    end;
    memo1.Lines.Add('GetTickCount = '+floattostrf((GetTickCount-T1)/1000,ffFixed,10,3)+' мсек);
    memo1.Lines.Add('rdtsc = '+floattostrf(T2/1000000,ffFixed,20,6));
    end;

    Без отладчика
    GetTickCount = 0,032 мсек
    rdtsc = 85,362372

    Ida Pro
    GetTickCount = 0,172 мсек * 5
    rdtsc = 385,499853

    делфи7
    GetTickCount = 0,390 мсек * 12
    rdtsc = 851,224255

    Microsoft Visual Studio 5
    GetTickCount = 3,594 мсек * 112
    rdtsc = 3655,963401

    Ollydbg
    GetTickCount = 6,328 мсек * 197
    rdtsc = 1100,028448
    Ollydbg + Fhantom
    GetTickCount = 0,001 мсек у меня суперкомпьютер :)
    rdtsc = 0,000679

    Ollydbg обнаружить проще всего.
     
  18. zeppe1in

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

    Joined:
    12 Jul 2006
    Messages:
    352
    Likes Received:
    66
    Reputations:
    18
    XP sp2
    AMD Athlon 64 3000+
    1 ГБ ОЗУ

    У меня есть кейген, как нистранно, запакованный PELock 1.0x -> Bartosz Wojcik. Дак вот он тоже при запуске обнаруживает дебагер и не работает. Заработал только в безопасном режиме.
     
  19. Xserg

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

    Joined:
    9 Dec 2006
    Messages:
    135
    Likes Received:
    127
    Reputations:
    53
    zeppe1in
    Запусти мой крякми под Ollydbg.
    Введи чего нибуть. И жми Shift-F9.
    Посмотри останавливается ли на команде
    00401336 0F31 RDTSC
     
  20. zeppe1in

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

    Joined:
    12 Jul 2006
    Messages:
    352
    Likes Received:
    66
    Reputations:
    18
    останавливаеца тут
    00401328 > \3002 XOR BYTE PTR DS:[EDX],AL
    и тут
    0040132D .^\73 CC JNB SHORT Crackmy2.004012FB
    потом месадж бокс.
     
    1 person likes this.