PDA

Просмотр полной версии : Первый крекми от ProTeuS'а


ProTeuS
16.08.2006, 03:15
Мой первый не слишком сложный крякми.

Нужно узнать правильный пас и сказать какое сообщение выводится при вводе правильного серийника. Написание статьи только приветствуется!

Ка4аем:
http://securityprobe.net/other/ProTeuS/crackme.rar (172Кб)

DarkIce
16.08.2006, 03:33
Я ввел как на мой почти уверенный взгляд правильный код и программа закрылась сразу без сообщений. это значит правильно я ввел ?

[hidden]
16.08.2006, 03:42
Ё-мое, да что же это за крякмис весом в 172К в архиве?

ProTeuS
16.08.2006, 03:52
>>Я ввел как на мой почти уверенный взгляд правильный код и программа закрылась >>сразу без сообщений. это значит правильно я ввел ?
когда введешь правильный - прога даст знать об этом валидным сообщением

ProTeuS
16.08.2006, 03:54
>>Ё-мое, да что же это за крякмис весом в 172К в архиве?
ну просто лу4шего обфускатора кода и метаморфа в виде компилера делфы я не видел ;))))

BUG(O)R
16.08.2006, 10:21
Serial: 204

---------------------------
Information
---------------------------
Preved! Registration sucess!
---------------------------
OK
---------------------------

ProTeuS
16.08.2006, 12:01
Bug(o)r, респект - ждем рассказа о системе генерации серийников(защите) ;) и солюшна

BUG(O)R
16.08.2006, 12:59
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

Всё)

ProTeuS
16.08.2006, 14:11
по листингу сдается 4то пас ты тупо пробрутил ;)
я ждал логики, рассказа о том как сабж находился...

BUG(O)R
16.08.2006, 14:58
Какой логики? Процедура которая выдает сообщение о правильном ключе зашифрована, каждый байт поксорен на остаток от деления числа введенного в спинедит на 255, если ввести неверный ключ то после передачи управления на эту процедуру возникнет исключение и управление перейдет на установленный тобою сех, в котором и вылетает сообщение о неверном ключе.

BUG(O)R
16.08.2006, 15:01
Пароли в таких алгоритмах можно найти только брутом

Ra$cal
16.08.2006, 16:46
Пароли в таких алгоритмах можно найти только брутом
Враки. Я ломанул сей кракми без перебора, мало того сразу после обнаружения, что модифицирует код. Во многих случаях есть уязвимости. В данном кракми была одна вещь, которая и позволила без проблем его крякнуть. Правда это было основано тольео на предположениях и могло не сработать. Но сработало. А делается всё так. Будем считать, что расшифровывается целиком функция. Это первое. И она начинается со стандратных прологов и заканичается на ret. В нашём случае хватит пролога. Видим, что первый байт 99. В дельфи начало процедуры стандартно: push ebp; mov ebp, esp;
push ebp - опкод 55. Теперь Из-за симметричности XOR берём и ксорим 0x55 на 0x99 и получаем 0xCC. Это и есть нужное значения для ксора. Теперь надо получить пасс, который даст это число. Зная что FF > CC просто пишем в поле пароля CC. Остаток будет CC. Вот и всё.

BUG(O)R
16.08.2006, 16:51
Да по-моему всё равно, перебрать 255 значений не было сложной задачей, опирался я конечно на то, что первый байт это 55h.

Ra$cal
16.08.2006, 17:25
Ну дык а нах тогда перебирал???

BUG(O)R
16.08.2006, 17:35
Захотелось ёпт

tclover
16.08.2006, 17:38
Дискуссия пошла в неправильном ключе =) Предлагаю тов. Протеусу написать прохождение =)

ProTeuS
16.08.2006, 17:46
>>Да по-моему всё равно, перебрать 255 значений не было сложной задачей, >>опирался я конечно на то, что первый байт это 55h.

дык эт не брутфорс называется(попробуй пробрути сабж с непосимвольным шифрованием, 4асти4ным хэшифрованием ДЛИННОГО клю4а), а использование намерено оставленной для простоты априорной информации

ProTeuS
16.08.2006, 17:49
>>Дискуссия пошла в неправильном ключе =)
то4но так, форум-то у нас белый и пуШистый ;)

>>Предлагаю тов. Протеусу написать прохождение =)
дык как-то даж не знаю, писать без использования либ php ;) и полного брута как-то неинтеренсно(ибо просто) =) хотя можно будет какой-то сиквелл состряпать

BUG(O)R
16.08.2006, 18:11
дык эт не брутфорс называется(попробуй пробрути сабж с непосимвольным шифрованием, 4асти4ным хэшифрованием ДЛИННОГО клю4а), а использование намерено оставленной для простоты априорной информации

По-моему проведениe N действий над множеством значений A, в результате которых мы имеем второе множество N(a), в поиске значения B всегда называлось брутфорсом, а то о чём ты говоришь всего-лишь условности.

ProTeuS
16.08.2006, 18:59
незнаю как там множества, а шнаер говорит, 4то брут - перебор каждой комбинаций со всего клю4евого простанства (у4ет 55h в таком слу4ае брутом не назовешь)

а то, 4то нужно было у4итывать пролог никак условностью не назовешь, ибо какой смысл в крякми, основаном ТОЛЬКО на бруте, эт имхо в 99% просто неуважение к крякеру

2кловер: дык ra$cal же солюшн запостил, 4итай выше ;)

BUG(O)R
16.08.2006, 19:23
ProTeuS, Шнаера не читал и в терминалогии не силён, но по-моему множество в моём посте и ключевое просранство у Шнаера несут одну смысловую нагрузку.

Уважение или нет не знаю, цель достингута в любом случае и в данном случае путь по которому пошёл я считаю вполне рациональм, у меня заняло не более минуты на переделку твоего крякмиса, чтобы он сам мне показал правильный ключ.

Ra$cal
16.08.2006, 21:19
Уважение или нет не знаю, цель достингута в любом случае и в данном случае путь по которому пошёл я считаю вполне рациональм
Это рационально, когда нет возможностей уменьшить объём работы. Ну а если ты говоришь, что учёл 0x55, то зачем было брутить??? Это ж и есть то что надо.

tclover
16.08.2006, 21:40
Извините что вмешиваюсь в ваш разговор )
Я далеко не специалист в данной области, но мне очень интересно. Было бы замечательно продолжать тему интересных крякмисов. С мануалами и т.д. (в тяжёлых случаях ;) ). Ну и вообще.
зы. имхо нужно сделать подраздел специально для крякми, дабы не создавать много тем в основном отделе )

ProTeuS
17.08.2006, 12:13
2кловер, уч4ем и сделаем обязательно, по крайней мере когда засрем окон4ательно основной раздел ;)

Ra$cal
17.08.2006, 13:14
Самый простой вариант для новичков - это кракмисы от фантома. Их штук 7 вроде. Там всё очень хорошо можно понять.
А ветку надо бы уже создавать, а то отвлекает от других тем