![]() |
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 |
Цитата:
|
хочется уточнить задачу....добится любым методом получения окна с надписью good password или предоставить логин и пароль? ( спрашиваю ибо были уже проблемы с кряками других авторов)
|
Цитата:
Распаковка == ((1-xor , 1-rol ) * 400) + ( 100-xor dword) Дальше проверка введенной пары , вообще просто. |
Цитата:
Способ , если не оговорен - значит любой. |
Xserg Жестока, Олька вылетает :( Пойду учиться работать в IDA...
Будет очень интересно как начинающему потом узнать, если у самого не получиться, как обойти это! |
Олька норм пашет.
На счёт сабжа - скучновато. Куча эксепшенов. Ничё нового. Тока ленивый не юзол регистры dr =) |
Цитата:
Она слишком много времени тратит на обработку эксепшенов. |
про медленность обработки знаю, лень искать место, которое следит за временем. а вообще делается так - пишется длл, инжектится, и логирует важные места. потом сравнивается под отладчегом =) А интересные места у тя - обработчик исключений и обработчик таймера.
|
просто запускаю, ввожу логин пароль и 2 ошибки Debug Detected.
непорядок) |
Цитата:
Поподробнее можно система,процессор,шина. |
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мгц Код:
var i,x,y:dword;Без отладчика 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 обнаружить проще всего. |
Цитата:
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 потом месадж бокс. |
zeppe1in
Странно у тебя система Int 1 отрабатывает, ставит Eip на следующую команду. Учту на будущее, что такое бывает. |
В безопасном режиме всё выглядит иначе. Крякми работает говорит, что неправильный пароль. В олли остановки
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 А ты сам его сломаешь в OllyDBG :) :) :)
// Респект за crackme ;) |
Цитата:
Xserg 7h1QP31nMW41212f cracklab.ru Pro100ya 9004qe8jk2kZ8l9P |
что-то я в твой антидебаг не въезжаю.. вроде поставил таймаут таймера на 0FFFFFFF и безусловный джамп в потоке, но всё равно вылетает \Debug Detected/
|
desTiny Глянь ЗДЕСЬ по этой теме, повторяться не хочеться ;)
// Скажу от себя. Останавливать поток и таймер нельзя |
млин.. всем кодом расшифровывает...)
///Тоже скажу от себя - таймер можно - при SetTimer стек поправить) |
так... я прошёл антидебаг) Как теперь чтон-ть сделать?)
Бряк на запсь в код не помогает - слишком много этих записей.. при условных бряках оля вылетает... сайсить чтоли... |
Solved *|*!
TeruS X43k561qi7j1Up93 XSerg, повторяю просьбу с клаба - дай сорец пожалуйста) |
| Время: 05:31 |