Вот соб-но 3 крекми . Цель найти правильный серийник(Пароль) для своего ника . Размер 6кб , писал полностью на masm . Удачи ЗЫ : Сложность средняя вроде , сильно не пинайте ЗЫЫ : Если интересного могу выложить сурсы , и с Новым Годом всех !) _http://www.rapidshare.ru/876027 _http://slil.ru/26500051
Ну почему сразу жесть , у меня времени небыло на драйвер и vm . Хотел на новый год . Интересно кто нить сломает ?
У меня при дебаге почему-то иногда после безобидных команд типа JZ система подвисает... 1 раз повисла основная, запустил на вмварьке - там уже дважды такое случилось - и везде в разных местах..
При дебаге возможно : 1) Висяк OS 2) Код самомодифицируется в зависимости от присутствия отладчика или же при его отсутствии 3) Изменение констант (так же в зависимости от дебага) нужных для вычисления хешей
не интересно, да и брутить rc2 некогда. Code: 004021F4 6A 00 PUSH 0 004021F6 FF35 33124000 PUSH DWORD PTR DS:[401233] 004021FC 68 5C114000 PUSH CrackMe.0040115C ; ASCII "blabla" 00402201 E8 8A000000 CALL <CrackMe.get_str_sum> 00402206 A3 3B124000 MOV DWORD PTR DS:[<sum_name>],EAX 0040220B 6A 00 PUSH 0 0040220D FF35 37124000 PUSH DWORD PTR DS:[401237] 00402213 68 6B114000 PUSH CrackMe.0040116B ; ASCII "12345" 00402218 E8 73000000 CALL <CrackMe.get_str_sum> 0040221D A3 3F124000 MOV DWORD PTR DS:[<sum_cod>],EAX 00402222 33C0 XOR EAX,EAX 00402224 0305 3B124000 ADD EAX,DWORD PTR DS:[<sum_name>] 0040222A 0305 3F124000 ADD EAX,DWORD PTR DS:[<sum_cod>] 00402230 0305 63124000 ADD EAX,DWORD PTR DS:[<const_2009>] 00402236 A3 43124000 MOV DWORD PTR DS:[<sum_all>],EAX 0040223B 6A 04 PUSH 4 0040223D 68 43124000 PUSH <CrackMe.sum_all> 00402242 E8 99F6FFFF CALL <CrackMe.init> 00402247 68 D6184000 PUSH CrackMe.004018D6 0040224C 68 CD184000 PUSH CrackMe.004018CD 00402251 E8 8AF8FFFF CALL <CrackMe.decrypt> 00402256 6A 00 PUSH 0 00402258 68 92184000 PUSH CrackMe.00401892 ; ASCII " RedAlert CrackMe 0.3" 0040225D 66:813D DC18400>CMP WORD PTR DS:[<check>],2129 00402266 74 0E JE SHORT CrackMe.00402276
скучный крякми.. вначале куча "антидебага", который ясно, что антидебаг, даже если б не было сборкой самых простых способов(вероятно, отсюда: http://www.securityfocus.com/infocus/1893) а потом считаются два хеша, складываются, и дальше какой-то занудный выбор из большого интового массива генерит сообщение. и PS: раздражает "антидебаг" cmp esi, -1. Вот какого хрена esi должен не быть -1, а?
да Code: .if esi == 0FFFFFFFFh mov cnt,2009h .endif Обычно в ольге когда прога запускается то она в самом начале устанавливает значение регистра FFFFFFFFh . Source Code ---> _http://www.rapidshare.ru/877323 Что нужно что бы крекми был нескушный? Во что стоит вкладываться ? VM ? antidebug ? r0 ? crypto ?
Вроде получилось наконец-то =) name: Code: winterfrost это ключи для Windows Vista SP1: Code: 000fJ1vq 002g^cG4 003FAB5a 006cCbFW 0072`21R 008l\RzY 009pR?`T а это для XP_sp2: Code: 0005E7eX 003XcyK@ 0041X6d; 004AdGak 006\?IQ: 008?STip Конечно, это не все возможные варианты ключей. В силу особенностей антиотладки, ключики отличаються в разных системах =) Кстати, по поводу esi. Как правильно заметил FoX's он действительно отличаеться в разных системах(а возможно ещё по каким-то причинам), вот например в Висте esi = -2. Code: .if esi == 0FFFFFFFFh mov cnt,2009h .endif По поводу этой перменной cnt (которая учавствует в генерации клюа для расшифровки блока rc2) могу сказать, что в vista_sp1 cnt = 1, а в xp_sp2 cnt = 0 (на стадии генерации клюа). Именно поэтому у меня получились разные ключи под эти две системы. Немного раздражало то, что окошко крякмиса нельзя переключиться по alt+tab, быстро тонет в дебрях других окон, а такж неплохо было-бы блокировать основное диалоговое окно, пока открыт MessageBox сообщающий о резултатах проверки пароля (ну и прочии боксы, например about). P.S. в исходники пока не смотрел