![]() |
Первый крекми от ProTeuS'а
Мой первый не слишком сложный крякми.
Нужно узнать правильный пас и сказать какое сообщение выводится при вводе правильного серийника. Написание статьи только приветствуется! Ка4аем: http://securityprobe.net/other/ProTeuS/crackme.rar (172Кб) |
Я ввел как на мой почти уверенный взгляд правильный код и программа закрылась сразу без сообщений. это значит правильно я ввел ?
|
Ё-мое, да что же это за крякмис весом в 172К в архиве?
|
>>Я ввел как на мой почти уверенный взгляд правильный код и программа закрылась >>сразу без сообщений. это значит правильно я ввел ?
когда введешь правильный - прога даст знать об этом валидным сообщением |
>>Ё-мое, да что же это за крякмис весом в 172К в архиве?
ну просто лу4шего обфускатора кода и метаморфа в виде компилера делфы я не видел ;)))) |
Serial: 204
--------------------------- Information --------------------------- Preved! Registration sucess! --------------------------- OK --------------------------- |
Bug(o)r, респект - ждем рассказа о системе генерации серийников(защите) ;) и солюшна
|
00457980 E8A3F9FFFF call 00457328 ; На выходе в eax StrToInt(SpinEdit1.Text)
00457985 B9FF000000 mov ecx, $000000FF 0045798A 99 cdq 0045798B F7F9 idiv ecx 0045798D 3013 xor [ebx], dl Всё) |
по листингу сдается 4то пас ты тупо пробрутил ;)
я ждал логики, рассказа о том как сабж находился... |
Какой логики? Процедура которая выдает сообщение о правильном ключе зашифрована, каждый байт поксорен на остаток от деления числа введенного в спинедит на 255, если ввести неверный ключ то после передачи управления на эту процедуру возникнет исключение и управление перейдет на установленный тобою сех, в котором и вылетает сообщение о неверном ключе.
|
Пароли в таких алгоритмах можно найти только брутом
|
Пароли в таких алгоритмах можно найти только брутом
Враки. Я ломанул сей кракми без перебора, мало того сразу после обнаружения, что модифицирует код. Во многих случаях есть уязвимости. В данном кракми была одна вещь, которая и позволила без проблем его крякнуть. Правда это было основано тольео на предположениях и могло не сработать. Но сработало. А делается всё так. Будем считать, что расшифровывается целиком функция. Это первое. И она начинается со стандратных прологов и заканичается на ret. В нашём случае хватит пролога. Видим, что первый байт 99. В дельфи начало процедуры стандартно: push ebp; mov ebp, esp; push ebp - опкод 55. Теперь Из-за симметричности XOR берём и ксорим 0x55 на 0x99 и получаем 0xCC. Это и есть нужное значения для ксора. Теперь надо получить пасс, который даст это число. Зная что FF > CC просто пишем в поле пароля CC. Остаток будет CC. Вот и всё. |
Да по-моему всё равно, перебрать 255 значений не было сложной задачей, опирался я конечно на то, что первый байт это 55h.
|
Ну дык а нах тогда перебирал???
|
Захотелось ёпт
|
Дискуссия пошла в неправильном ключе =) Предлагаю тов. Протеусу написать прохождение =)
|
>>Да по-моему всё равно, перебрать 255 значений не было сложной задачей, >>опирался я конечно на то, что первый байт это 55h.
дык эт не брутфорс называется(попробуй пробрути сабж с непосимвольным шифрованием, 4асти4ным хэшифрованием ДЛИННОГО клю4а), а использование намерено оставленной для простоты априорной информации |
>>Дискуссия пошла в неправильном ключе =)
то4но так, форум-то у нас белый и пуШистый ;) >>Предлагаю тов. Протеусу написать прохождение =) дык как-то даж не знаю, писать без использования либ php ;) и полного брута как-то неинтеренсно(ибо просто) =) хотя можно будет какой-то сиквелл состряпать |
Цитата:
|
незнаю как там множества, а шнаер говорит, 4то брут - перебор каждой комбинаций со всего клю4евого простанства (у4ет 55h в таком слу4ае брутом не назовешь)
а то, 4то нужно было у4итывать пролог никак условностью не назовешь, ибо какой смысл в крякми, основаном ТОЛЬКО на бруте, эт имхо в 99% просто неуважение к крякеру 2кловер: дык ra$cal же солюшн запостил, 4итай выше ;) |
ProTeuS, Шнаера не читал и в терминалогии не силён, но по-моему множество в моём посте и ключевое просранство у Шнаера несут одну смысловую нагрузку.
Уважение или нет не знаю, цель достингута в любом случае и в данном случае путь по которому пошёл я считаю вполне рациональм, у меня заняло не более минуты на переделку твоего крякмиса, чтобы он сам мне показал правильный ключ. |
Уважение или нет не знаю, цель достингута в любом случае и в данном случае путь по которому пошёл я считаю вполне рациональм
Это рационально, когда нет возможностей уменьшить объём работы. Ну а если ты говоришь, что учёл 0x55, то зачем было брутить??? Это ж и есть то что надо. |
Извините что вмешиваюсь в ваш разговор )
Я далеко не специалист в данной области, но мне очень интересно. Было бы замечательно продолжать тему интересных крякмисов. С мануалами и т.д. (в тяжёлых случаях ;) ). Ну и вообще. зы. имхо нужно сделать подраздел специально для крякми, дабы не создавать много тем в основном отделе ) |
2кловер, уч4ем и сделаем обязательно, по крайней мере когда засрем окон4ательно основной раздел ;)
|
Самый простой вариант для новичков - это кракмисы от фантома. Их штук 7 вроде. Там всё очень хорошо можно понять.
А ветку надо бы уже создавать, а то отвлекает от других тем |
| Время: 00:14 |