Просмотр полной версии : Crackmy2
Типа сложный сломайменя для новичков.
Для опытных крякеров, будет лень разбираться , значит тоже сложный.
Подсказки:
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
Для опытных крякеров, будет лень разбираться , значит тоже сложный.
Поправка. Лень - не значит сложность, одно дело, когда сложность заключается в распаковке, другое, когда в анализе огромного количества арифметических операций.
!_filin_!
05.09.2007, 19:39
хочется уточнить задачу....добится любым методом получения окна с надписью good password или предоставить логин и пароль? ( спрашиваю ибо были уже проблемы с кряками других авторов)
Поправка. Лень - не значит сложность, одно дело, когда сложность заключается в распаковке, другое, когда в анализе огромного количества арифметических операций.
Да нет там операций.
Распаковка == ((1-xor , 1-rol ) * 400) + ( 100-xor dword)
Дальше проверка введенной пары , вообще просто.
хочется уточнить задачу....добится любым методом получения окна с надписью good password или предоставить логин и пароль? ( спрашиваю ибо были уже проблемы с кряками других авторов)
good password – Будут другие поздравления. :)
Способ , если не оговорен - значит любой.
Xserg Жестока, Олька вылетает :( Пойду учиться работать в IDA...
Будет очень интересно как начинающему потом узнать, если у самого не получиться, как обойти это!
Олька норм пашет.
На счёт сабжа - скучновато. Куча эксепшенов. Ничё нового. Тока ленивый не юзол регистры dr =)
Олька норм пашет.
На счёт сабжа - скучновато. Куча эксепшенов. Ничё нового. Тока ленивый не юзол регистры dr =)
Прикол специально для Оли.
Она слишком много времени тратит на обработку эксепшенов.
про медленность обработки знаю, лень искать место, которое следит за временем. а вообще делается так - пишется длл, инжектится, и логирует важные места. потом сравнивается под отладчегом =) А интересные места у тя - обработчик исключений и обработчик таймера.
zeppe1in
08.09.2007, 16:44
просто запускаю, ввожу логин пароль и 2 ошибки Debug Detected.
непорядок)
просто запускаю, ввожу логин пароль и 2 ошибки Debug Detected.
непорядок)
Тестил только под XP.
Поподробнее можно система,процессор,шина.
zeppe1in У меня норма!
Xserg А если сделать прожку, которая будет исправлять байты памяти на нужные. Т.е. будет править GLOBAL Tic db ? GLOBAL flag dw ? GLOBAL Tic1 dd ?
Прокатит? :)
Честно говоря , я пока не нашел простого решения, сломать этот крякми.
Думал мне здесь помогут.
Помог только Ra$cal - динамически плавающий массив, переменных с мусором, поможет укрепить защиту.
У вас все методы - противодействие отладки "риал-тайма", как то - всякие таймеры, потоки, эксплойты к ollydbg и т.п., смысла в этом помоему ноль. Даешь методы статичной антиотладки - как то - vm, крипт rsaшными ключами, свои загрузчики, дрова етц.
лол стати4ная антиотладка
рса сакс, т.к. актуальная факторизация и подмена экспонент, загруз4ик, дров и ВМ концептуально не лу4ше таймеров, т.к. если код выполняется в памяти, то возможность взлом можно только минимизировать, даже если ты и умеешь писать драйвера =\
У вас все методы - противодействие отладки "риал-тайма", как то - всякие таймеры, потоки, эксплойты к ollydbg и т.п., смысла в этом помоему ноль. Даешь методы статичной антиотладки - как то - vm, крипт rsaшными ключами, свои загрузчики, дрова етц.
Это же какой никакой, а крякми.
Все методы, имеют право на существование.
До сих пор , во многих программах используется, IsDebuggerPresent
//offtop
В пятницу , скажем так, посмотрел, защиту программы (стоимостью 15000р).
Oдних дллок штук 50 и одна с глупым названием protect.dll
Там этого г.. про которое ты говоришь, много ..
Вся защита слетела патчем одного байта, найденного откаткой назад, сообщения об установке не на тот компьютер.
Правда, один ключ пришлось купить.
Потестил 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. Дак вот он тоже при запуске обнаруживает дебагер и не работает. Заработал только в безопасном режиме.
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
потом месадж бокс.
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]
повторяюца много раз, а потом месадж бокс.
интерестно, с чем связаны такие чудеса?
интерестно, с чем связаны такие чудеса?
А может у тебя, в системе драйвер SoftIce стоит?
Выгружай драйвер и проверяй.
Xserg А ты сам его сломаешь в OllyDBG :) :) :)
// Респект за crackme ;)
Xserg А ты сам его сломаешь в OllyDBG :) :) :)
Лехко
Xserg
7h1QP31nMW41212f
cracklab.ru
Pro100ya
9004qe8jk2kZ8l9P
что-то я в твой антидебаг не въезжаю.. вроде поставил таймаут таймера на 0FFFFFFF и безусловный джамп в потоке, но всё равно вылетает \Debug Detected/
desTiny Глянь ЗДЕСЬ (http://www.cracklab.ru/f/index.php?action=vthread&forum=5&topic=9845) по этой теме, повторяться не хочеться ;)
// Скажу от себя. Останавливать поток и таймер нельзя
млин.. всем кодом расшифровывает...)
///Тоже скажу от себя - таймер можно - при SetTimer стек поправить)
так... я прошёл антидебаг) Как теперь чтон-ть сделать?)
Бряк на запсь в код не помогает - слишком много этих записей..
при условных бряках оля вылетает... сайсить чтоли...
Solved *|*!
TeruS
X43k561qi7j1Up93
XSerg, повторяю просьбу с клаба - дай сорец пожалуйста)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot