Регистрируем Date X Pro v1.0.Это программа-прогноз.С её помощью можно узнать дату смерти и предположительную причину.Так что если вы хотите узнать это,то вам сюда : http://store.in.ru/~nop/PROGRAMS/date_x.exe ИНСТРУМЕНТЫ - старый, добрый S-Ice, я пользовался версией 3.24, немного терпения и совсем немного усилий со стороны головного мозга. Ну поехали. Запускаем объект исследования и появляется такое нестандартное окошечко с 2-мя полями: 1) Серийный номер данной копии программы : у меня он равнялся 464698505,сразу хочу сделать небольшое отступление,данный параметр на разных машинах будет изменяться,соответственно изменяется и 2-ая строка, поэтому вероятность того, что он у кого-то будет одинаковый, очень мала; 2)Пожалуйста введите соответствующий код, ну с этим всё понятно, заплати 100 р. и умирай! Также присутствуют 2 кнопулечки; одна для регистрации, другая для продолжения без регистрации (но оговаривается,что без регистрации прога работает с ограничениями,а именно вы не узнаете даты смерти, своей или другого испытуемого человека, что меня совершенно не устроило,да и вас наверное тоже).И ещё одно важное замечание, программа пожата Shrinker-ом.Все попытки по распаковке никчему хорошему не привели, может у вас получится.
Итак, ныряем в сайс и ставим бряк на фун-цию Hmemcpy (ессно после заполнения 2 поля),жмём зарегистрироваться и оказываемся в сайсе, в модуле Kernel32, выходим по F12 в модуль нужной нам программы и видим,что код в котором мы оказались "вложенный",но не нужно выходить из него начинайте трассировать (F10)пока не выйдете из всех вложений. Если сделали всё правильно, то окажетесь вот в таком месте 004A736C mov EAX, [EBP-04] ; запись в eax введённого нами кода 004A736F push EAX ; код на стек 004A7370 lea EDX ,[EBP-08] 004A7373 mov EAX , [004B3480] 004A7378 mov EAX, , [EAX] и далее будет CALL , нам туда (F8), а в нём ещё один по адресу : 00407401, опять заходим и добираемся до такого места: 00408155 mov EDX , 00001001 0040815A call 00407D48 ; его можно пропустить 0040815F mov EBX , EAX ; здесь можно увидеть длину правильного рег.кода(9),набрав d ebx, и далее трасируем до такого кусочка: 00408184 lea EDX , [EBP+FFFFEFFE] ; тут увидим интересные цифири-ЭТО ПРАВИЛЬНЫЙ КОД 0040818E call 00403988 ; пропускаем 00403922 mov EAX , ESI ;правильный код из esi в eax 00403924 call 0040275C ; заходим 0040275C push ESI ; правильный код на стек 0040275D push EDI 0040275E mov ESI , EAX ; тут,думаю всё понятно 00402760 mov EDI , EDX 00402763 mov EAX , ECX ; в eax длину верного кода далее доходим до ret , перед выходом забираем из стека верный код в edi и esi, причём с разных адресов 00403929 mov EAX , EBX ; мы здесь 0040392B call 00403824 далее выходим из 4 функций и оказываемся вот в таком коде: 004A737F mov EDX , [EBP-08] ; в edx верный код 004A7382 pop EAX ; забираем со стека введённый нами код в eax 004A7383 call 00403BB0 ; прцедура проверки?ныряем туда 00403BB0 push EBX 00403BB1 push ESI 00403BB2 push EDI 00403BB3 mov ESI , EAX ; наш код в esi 00403BB5 mov EDI, EDX ; верный код в edi (у меня он был 136767175) 00403BB7 cmp EAX, EDX ; сравниваем наш код с правильным 00403BB9 jz 00403C4E ; по идее этот переход должен быть критичным для нас,на самом же деле это не так.Если ввести рег.код равный по кол-ву цифер,серийному номеру,то критичными окажутся следующие места: 1)00403BDF JNZ 00403C39 2)00403BEC JNZ 00403C39 3)00403C0B JNZ 00403C4E Я поменял значение флага нуля на противоположное и получил регистрацию, открыв ключик в реестре [HKEY_LOCAL_MACHINE\Software\NOP\DateXPro] "Version"="Vеrsiоn 1.0" "Code"="136767175" я с удивлением увидел не введённый код,а правильный,вот такие дела. Теперь не мешало бы сделать патч,но сразу скажу что с этим у меня нечего не вышло,пробовал я Riscp и некоторые другие модификаторы для патча в памяти, но ничего кроме error-а не получил.Если у вас выйдет можете написать мне.Да,был замечен такой прикол,правда на моей машине я такого не наблюдал,но мне рассказал один друг,так вот после 3 попыток введения неправильного кода, прога выдавала такое сообщение:Вы сделали 3 попытки,все они оказались неудачными,и далее идёт форматирование диска С,появляется окошечко с линией прогресса "формата",но на самом деле, конечно никакого форматирования не происходило,автор прикалывается. Ну и конечно-же этот материал написан для образовательных целей, а не для использования в целях взлома данной программы,не забывайте что это коммерческий продукт который стоит денег,если вы хотите пользоваться этой программой заплатите автору,тем более,что он тоже живёт в России. До скорых встреч GoKs!!! |