RCE.SU - реверсинг, кодинг, выделенные сервера, ICQ, proxy

Регистрируем 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!!!


<= Вернуться к статьям

Rambler's Top100