Просмотр полной версии : Crackme2 for win
Мой второй по счету крекми. Предыдущий взломали ОЧЕНЬ быстро, поэтому я слегка усложнил задачу.
Также убрал повсеместный SEH, оставив его лишь в одной процедуре, и VEH (чтобы расширить круг "аудитории"). Написан крекми на ассемблере. Пакеров по-прежнему не применяю, код не замусориваю, чтобы можно было сконцентрироваться непосредственно на защите. Хотя в предыдущем случае было достаточно тривиальное замусоривание, которое обходится на ура.
Опять же, взломавших прошу отписываться здесь и если можно указывать скорость взлома и его ход (так для интереса).
Ссылка
http://slil.ru/24492086
Сложность невысокая
Задание найти пароль
мля, не пиши такого больше :))
код: dХ*ХХ)а
(Х вместо цифр, чтобы сами ломали)
Как быстро сломал? Где лазейку нашел?
Также пишите предложения по реализации алгоритма.
Hellsp@wn
09.06.2007, 21:54
в защите ничего интересного нету... старо как мир)
взломать можно чисто логически:
- походу поксорена вся функа, значит последний байт C3 => в пароле 7-ой символ'a'
и т.д. я сначала думал, что в пароле 8 символов... =\
00401133 |. 83FB 08 |CMP EBX,8
00401136 |. 75 05 |JNZ SHORT CRACKME_.0040113D
несколько байт можно узнать таким образом, остальное отбрутить! :)
з.ы. достаётся 1 валидный ключ и защиты уже нету...
атака на known text, однако :)
единственное что сбило - так это ret после текста
а по поводу улучшения - при длине ключа, равной длине шифруемого участка, сломать будет невозможно ;)
Hellsp@wn, тоже +)
Я на то и рассчитывал. В процедуре известно как минимум 9 байт которые находятся чисто логическим путем) В перспективе удлинение процедуры и пароля)
ЗЫ А по поводу 8 символов точно подмечено- обман зрения за счет помещения сравнения в конец цикла)
а не получится так, что при удлиннении пароля я паролем смогу сформировать свою собственную процедурку по выводу мессаджбокса с нужным тектом? ;)
dmnt, сомневаюсь. Почему ты думаешь, что это возможно?
В любом случае вероятность очень мала.
ну допустим ключ длиной байт 300 и такой же участок зашифрованного кода (который заведомо известно, что будет выполняться)
подбирая параметры к xor'у можно сформировать свой код, отличный от оригинального ;)
dmnt, вероятность ничтожно мала. К тому же, удлинять пароль до 300 символов (или хотя бы до 100) - это уж слишком для такого крекми. Но можно попробовать. А вдруг тебе и вправду удастся сделать то, о чем ты говоришь=) А ты не думал сколько по времени займет такой подбор? Имхо в пределах реального времени это как минимум сложнореализуемо. Но попробовать можно) А вообще буду усложнять сам алгоритм шифрования (ксор - это уж очень просто). В общем буду писать модификацию)
Hellsp@wn
09.06.2007, 22:29
если прикрутить к такому бруту дизасм... т.е. после каждой итерации дизасмить код
и смотреть на правдоподобность команд, как то так) всё равно, слишком муторно.
0x0c0de, сейчас во многих прогах ключи в килобайтах измеряются :)
жалко только что они там не xor'ом пользуются.
а так - подобрать строчку, чтоб она после ксора моим кодом стала... ну не на много сложней, чем шеллкод написать ;)
Кто еще сломал тоже отписывайтесь. А за конструктивные предложения спасибо, есть над чем поработать)))
0x0c0de, вместо xor используй rc4 + немного математики с введённым ключем от введённого пароля, и до первой купленной\набрученной валидной инфы его не взломают. При этом при малой длине ключа получится достаточно стойкая защита. Но повторюсь - это боян до первой валидной рег инфы.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot