PDA

Просмотр полной версии : Crackmy2


Xserg
05.09.2007, 18:56
Типа сложный сломайменя для новичков.
Для опытных крякеров, будет лень разбираться , значит тоже сложный.

Подсказки:
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

Ni0x
05.09.2007, 19:24
Для опытных крякеров, будет лень разбираться , значит тоже сложный.
Поправка. Лень - не значит сложность, одно дело, когда сложность заключается в распаковке, другое, когда в анализе огромного количества арифметических операций.

!_filin_!
05.09.2007, 19:39
хочется уточнить задачу....добится любым методом получения окна с надписью good password или предоставить логин и пароль? ( спрашиваю ибо были уже проблемы с кряками других авторов)

Xserg
05.09.2007, 19:40
Поправка. Лень - не значит сложность, одно дело, когда сложность заключается в распаковке, другое, когда в анализе огромного количества арифметических операций.
Да нет там операций.

Распаковка == ((1-xor , 1-rol ) * 400) + ( 100-xor dword)
Дальше проверка введенной пары , вообще просто.

Xserg
05.09.2007, 19:43
хочется уточнить задачу....добится любым методом получения окна с надписью good password или предоставить логин и пароль? ( спрашиваю ибо были уже проблемы с кряками других авторов)
good password – Будут другие поздравления. :)

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

GlOFF
05.09.2007, 21:18
Xserg Жестока, Олька вылетает :( Пойду учиться работать в IDA...
Будет очень интересно как начинающему потом узнать, если у самого не получиться, как обойти это!

Ra$cal
06.09.2007, 03:30
Олька норм пашет.
На счёт сабжа - скучновато. Куча эксепшенов. Ничё нового. Тока ленивый не юзол регистры dr =)

Xserg
06.09.2007, 10:10
Олька норм пашет.
На счёт сабжа - скучновато. Куча эксепшенов. Ничё нового. Тока ленивый не юзол регистры dr =)
Прикол специально для Оли.
Она слишком много времени тратит на обработку эксепшенов.

Ra$cal
06.09.2007, 12:58
про медленность обработки знаю, лень искать место, которое следит за временем. а вообще делается так - пишется длл, инжектится, и логирует важные места. потом сравнивается под отладчегом =) А интересные места у тя - обработчик исключений и обработчик таймера.

zeppe1in
08.09.2007, 16:44
просто запускаю, ввожу логин пароль и 2 ошибки Debug Detected.
непорядок)

Xserg
08.09.2007, 17:14
просто запускаю, ввожу логин пароль и 2 ошибки Debug Detected.
непорядок)
Тестил только под XP.
Поподробнее можно система,процессор,шина.

GlOFF
08.09.2007, 17:49
zeppe1in У меня норма!

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

Xserg
08.09.2007, 18:13
Честно говоря , я пока не нашел простого решения, сломать этот крякми.

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

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

KEZ
08.09.2007, 18:27
У вас все методы - противодействие отладки "риал-тайма", как то - всякие таймеры, потоки, эксплойты к ollydbg и т.п., смысла в этом помоему ноль. Даешь методы статичной антиотладки - как то - vm, крипт rsaшными ключами, свои загрузчики, дрова етц.

ProTeuS
08.09.2007, 18:48
лол стати4ная антиотладка
рса сакс, т.к. актуальная факторизация и подмена экспонент, загруз4ик, дров и ВМ концептуально не лу4ше таймеров, т.к. если код выполняется в памяти, то возможность взлом можно только минимизировать, даже если ты и умеешь писать драйвера =\

Xserg
08.09.2007, 19:03
У вас все методы - противодействие отладки "риал-тайма", как то - всякие таймеры, потоки, эксплойты к ollydbg и т.п., смысла в этом помоему ноль. Даешь методы статичной антиотладки - как то - vm, крипт rsaшными ключами, свои загрузчики, дрова етц.
Это же какой никакой, а крякми.

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

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

Xserg
08.09.2007, 22:11
Потестил 5000 исключений под разными отладчиками
XP(sp2) AMD64 3500+ , DDR2-800мгц

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 обнаружить проще всего.

zeppe1in
08.09.2007, 22:32
Тестил только под XP.
Поподробнее можно система,процессор,шина.
XP sp2
AMD Athlon 64 3000+
1 ГБ ОЗУ

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

Xserg
08.09.2007, 23:10
zeppe1in
Запусти мой крякми под Ollydbg.
Введи чего нибуть. И жми Shift-F9.
Посмотри останавливается ли на команде
00401336 0F31 RDTSC

zeppe1in
08.09.2007, 23:17
останавливаеца тут
00401328 > \3002 XOR BYTE PTR DS:[EDX],AL
и тут
0040132D .^\73 CC JNB SHORT Crackmy2.004012FB
потом месадж бокс.

Xserg
08.09.2007, 23:37
zeppe1in
Странно у тебя система Int 1 отрабатывает, ставит Eip на следующую команду.
Учту на будущее, что такое бывает.

zeppe1in
09.09.2007, 00:27
В безопасном режиме всё выглядит иначе. Крякми работает говорит, что неправильный пароль. В олли остановки

00401328 > \3002 XOR BYTE PTR DS:[EDX],AL
0040132B ? CD 01 INT 1
0040132F . /71 FF JNO SHORT Crackmy2.00401330
потом непонятно где, а потом тут
0040133E ? FF17 CALL DWORD PTR DS:[EDI]

повторяюца много раз, а потом месадж бокс.

интерестно, с чем связаны такие чудеса?

Xserg
09.09.2007, 06:59
интерестно, с чем связаны такие чудеса?
А может у тебя, в системе драйвер SoftIce стоит?
Выгружай драйвер и проверяй.

GlOFF
09.09.2007, 13:02
Xserg А ты сам его сломаешь в OllyDBG :) :) :)

// Респект за crackme ;)

Xserg
09.09.2007, 14:29
Xserg А ты сам его сломаешь в OllyDBG :) :) :)
Лехко

Xserg
7h1QP31nMW41212f

cracklab.ru
Pro100ya
9004qe8jk2kZ8l9P

desTiny
17.09.2007, 17:35
что-то я в твой антидебаг не въезжаю.. вроде поставил таймаут таймера на 0FFFFFFF и безусловный джамп в потоке, но всё равно вылетает \Debug Detected/

GlOFF
17.09.2007, 17:48
desTiny Глянь ЗДЕСЬ (http://www.cracklab.ru/f/index.php?action=vthread&forum=5&topic=9845) по этой теме, повторяться не хочеться ;)

// Скажу от себя. Останавливать поток и таймер нельзя

desTiny
17.09.2007, 19:27
млин.. всем кодом расшифровывает...)

///Тоже скажу от себя - таймер можно - при SetTimer стек поправить)

desTiny
17.09.2007, 21:40
так... я прошёл антидебаг) Как теперь чтон-ть сделать?)

Бряк на запсь в код не помогает - слишком много этих записей..
при условных бряках оля вылетает... сайсить чтоли...

desTiny
18.09.2007, 20:29
Solved *|*!

TeruS
X43k561qi7j1Up93

XSerg, повторяю просьбу с клаба - дай сорец пожалуйста)