Типа сложный сломайменя для новичков. Для опытных крякеров, будет лень разбираться , значит тоже сложный. Подсказки: 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
Поправка. Лень - не значит сложность, одно дело, когда сложность заключается в распаковке, другое, когда в анализе огромного количества арифметических операций.
хочется уточнить задачу....добится любым методом получения окна с надписью good password или предоставить логин и пароль? ( спрашиваю ибо были уже проблемы с кряками других авторов)
Да нет там операций. Распаковка == ((1-xor , 1-rol ) * 400) + ( 100-xor dword) Дальше проверка введенной пары , вообще просто.
Xserg Жестока, Олька вылетает Пойду учиться работать в IDA... Будет очень интересно как начинающему потом узнать, если у самого не получиться, как обойти это!
Олька норм пашет. На счёт сабжа - скучновато. Куча эксепшенов. Ничё нового. Тока ленивый не юзол регистры dr =)
про медленность обработки знаю, лень искать место, которое следит за временем. а вообще делается так - пишется длл, инжектится, и логирует важные места. потом сравнивается под отладчегом =) А интересные места у тя - обработчик исключений и обработчик таймера.
zeppe1in У меня норма! Xserg А если сделать прожку, которая будет исправлять байты памяти на нужные. Т.е. будет править GLOBAL Tic db ? GLOBAL flag dw ? GLOBAL Tic1 dd ? Прокатит?
Честно говоря , я пока не нашел простого решения, сломать этот крякми. Думал мне здесь помогут. Помог только Ra$cal - динамически плавающий массив, переменных с мусором, поможет укрепить защиту.
У вас все методы - противодействие отладки "риал-тайма", как то - всякие таймеры, потоки, эксплойты к ollydbg и т.п., смысла в этом помоему ноль. Даешь методы статичной антиотладки - как то - vm, крипт rsaшными ключами, свои загрузчики, дрова етц.
лол стати4ная антиотладка рса сакс, т.к. актуальная факторизация и подмена экспонент, загруз4ик, дров и ВМ концептуально не лу4ше таймеров, т.к. если код выполняется в памяти, то возможность взлом можно только минимизировать, даже если ты и умеешь писать драйвера =\
Это же какой никакой, а крякми. Все методы, имеют право на существование. До сих пор , во многих программах используется, IsDebuggerPresent //offtop В пятницу , скажем так, посмотрел, защиту программы (стоимостью 15000р). Oдних дллок штук 50 и одна с глупым названием protect.dll Там этого г.. про которое ты говоришь, много .. Вся защита слетела патчем одного байта, найденного откаткой назад, сообщения об установке не на тот компьютер. Правда, один ключ пришлось купить.
Потестил 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 обнаружить проще всего.
XP sp2 AMD Athlon 64 3000+ 1 ГБ ОЗУ У меня есть кейген, как нистранно, запакованный PELock 1.0x -> Bartosz Wojcik. Дак вот он тоже при запуске обнаруживает дебагер и не работает. Заработал только в безопасном режиме.
zeppe1in Запусти мой крякми под Ollydbg. Введи чего нибуть. И жми Shift-F9. Посмотри останавливается ли на команде 00401336 0F31 RDTSC
останавливаеца тут 00401328 > \3002 XOR BYTE PTR DS:[EDX],AL и тут 0040132D .^\73 CC JNB SHORT Crackmy2.004012FB потом месадж бокс.