Просмотр полной версии : Первый крекми от ProTeuS'а
Мой первый не слишком сложный крякми.
Нужно узнать правильный пас и сказать какое сообщение выводится при вводе правильного серийника. Написание статьи только приветствуется!
Ка4аем:
http://securityprobe.net/other/ProTeuS/crackme.rar (172Кб)
Я ввел как на мой почти уверенный взгляд правильный код и программа закрылась сразу без сообщений. это значит правильно я ввел ?
[hidden]
16.08.2006, 03:42
Ё-мое, да что же это за крякмис весом в 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а), а использование намерено оставленной для простоты априорной информации
По-моему проведениe N действий над множеством значений A, в результате которых мы имеем второе множество N(a), в поиске значения B всегда называлось брутфорсом, а то о чём ты говоришь всего-лишь условности.
незнаю как там множества, а шнаер говорит, 4то брут - перебор каждой комбинаций со всего клю4евого простанства (у4ет 55h в таком слу4ае брутом не назовешь)
а то, 4то нужно было у4итывать пролог никак условностью не назовешь, ибо какой смысл в крякми, основаном ТОЛЬКО на бруте, эт имхо в 99% просто неуважение к крякеру
2кловер: дык ra$cal же солюшн запостил, 4итай выше ;)
ProTeuS, Шнаера не читал и в терминалогии не силён, но по-моему множество в моём посте и ключевое просранство у Шнаера несут одну смысловую нагрузку.
Уважение или нет не знаю, цель достингута в любом случае и в данном случае путь по которому пошёл я считаю вполне рациональм, у меня заняло не более минуты на переделку твоего крякмиса, чтобы он сам мне показал правильный ключ.
Уважение или нет не знаю, цель достингута в любом случае и в данном случае путь по которому пошёл я считаю вполне рациональм
Это рационально, когда нет возможностей уменьшить объём работы. Ну а если ты говоришь, что учёл 0x55, то зачем было брутить??? Это ж и есть то что надо.
Извините что вмешиваюсь в ваш разговор )
Я далеко не специалист в данной области, но мне очень интересно. Было бы замечательно продолжать тему интересных крякмисов. С мануалами и т.д. (в тяжёлых случаях ;) ). Ну и вообще.
зы. имхо нужно сделать подраздел специально для крякми, дабы не создавать много тем в основном отделе )
2кловер, уч4ем и сделаем обязательно, по крайней мере когда засрем окон4ательно основной раздел ;)
Самый простой вариант для новичков - это кракмисы от фантома. Их штук 7 вроде. Там всё очень хорошо можно понять.
А ветку надо бы уже создавать, а то отвлекает от других тем
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot