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