Всех приветствую! Ковырял я вот эту непотребную CrackMe... собственно ничего сложного и вместе с дебаггером найти функции верификации пароля очень даже просто. крякнуть мне ёё удалось.. но только заменой джампа в нужном месте, а именно с алгоритмом генерации пароля так и не разобрался. Может пожет кто?
Хм.. что-то файл не прикрепляется. Это уже вопрос к админам. вот ссылка http://depositfiles.com/files/1li4hf66u
конкретно я просто высаживаюсь на измену вот на этом коде(оный является защитой) Код (Text): .text:0040134A push ebp .text:0040134B mov ebp, esp .text:0040134D sub esp, 68h .text:00401350 push [ebp+String] ; String .text:00401353 call atof .text:00401358 fst [ebp+var_18] .text:0040135B sub esp, 8 .text:0040135E fstp [esp+74h+var_74] .text:00401361 call floor .text:00401366 fstp [ebp+var_8] .text:00401369 push [ebp+arg_4] ; String .text:0040136C call atof .text:00401371 fst [ebp+var_28] .text:00401374 sub esp, 8 .text:00401377 fstp [esp+80h+var_80] .text:0040137A call floor .text:0040137F add esp, 18h .text:00401382 fst [ebp+var_10] .text:00401385 fmul [ebp+var_8] .text:00401388 fldz .text:0040138A fcompp st(1), st .text:0040138C fnstsw ax .text:0040138E sahf .text:0040138F jnz short loc_401398 .text:00401391 xor eax, eax .text:00401393 jmp locret_40142E .text:00401398 ; --------------------------------------------------------------------------- .text:00401398 .text:00401398 loc_401398: ; CODE XREF: sub_40134A+45j .text:00401398 fld [ebp+var_8] .text:0040139B fcomp [ebp+var_10] .text:0040139E fnstsw ax .text:004013A0 sahf .text:004013A1 jnz short loc_4013AA .text:004013A3 xor eax, eax .text:004013A5 jmp locret_40142E .text:004013AA ; --------------------------------------------------------------------------- .text:004013AA .text:004013AA loc_4013AA: ; CODE XREF: sub_40134A+57j .text:004013AA fld [ebp+var_8] .text:004013AD fstp [ebp+var_38] .text:004013B0 fld1 .text:004013B2 fst [ebp+var_40] .text:004013B5 fcomp [ebp+var_38] .text:004013B8 fnstsw ax .text:004013BA sahf .text:004013BB ja short loc_4013EA .text:004013BD fild dbl_403038 .text:004013C3 fst [ebp+var_48] .text:004013C6 fcomp [ebp+var_38] .text:004013C9 fnstsw ax .text:004013CB sahf .text:004013CC jb short loc_4013EA .text:004013CE fld [ebp+var_10] .text:004013D1 fstp [ebp+var_50] .text:004013D4 fld [ebp+var_40] .text:004013D7 fcomp [ebp+var_50] .text:004013DA fnstsw ax .text:004013DC sahf .text:004013DD ja short loc_4013EA .text:004013DF fld [ebp+var_48] .text:004013E2 fcomp [ebp+var_50] .text:004013E5 fnstsw ax .text:004013E7 sahf .text:004013E8 jnb short loc_4013EE .text:004013EA .text:004013EA loc_4013EA: ; CODE XREF: sub_40134A+71j .text:004013EA ; sub_40134A+82j ... .text:004013EA xor eax, eax .text:004013EC jmp short locret_40142E .text:004013EE ; --------------------------------------------------------------------------- .text:004013EE .text:004013EE loc_4013EE: ; CODE XREF: sub_40134A+9Ej .text:004013EE fld [ebp+var_8] .text:004013F1 fsin .text:004013F3 fstp [ebp+var_58] .text:004013F6 fld [ebp+var_10] .text:004013F9 fsin .text:004013FB fstp [ebp+var_60] .text:004013FE fld [ebp+var_58] .text:00401401 fmul [ebp+var_60] .text:00401404 fild dbl_403030 .text:0040140A fmulp st(1), st .text:0040140C sub esp, 8 .text:0040140F fstp [esp+70h+var_74+4] .text:00401412 call floor .text:00401417 add esp, 8 .text:0040141A fstp [ebp+var_68] .text:0040141D fldz .text:0040141F fcomp [ebp+var_68] .text:00401422 fnstsw ax .text:00401424 sahf .text:00401425 jnz short loc_40142C .text:00401427 xor eax, eax .text:00401429 inc eax .text:0040142A jmp short locret_40142E .text:0040142C ; --------------------------------------------------------------------------- .text:0040142C .text:0040142C loc_40142C: ; CODE XREF: sub_40134A+DBj .text:0040142C xor eax, eax .text:0040142E .text:0040142E locret_40142E: ; CODE XREF: sub_40134A+49j .text:0040142E ; sub_40134A+5Bj ... .text:0040142E leave .text:0040142F retn .text:0040142F sub_40134A endp .text:0040142F Чтобы сломать(вот именно сломать! но работает) прогу по-вандальски я просто заменил вот этот джамп Код (Text): .text:00401425 jnz short loc_40142C на Код (Text): .text:00401425 jmp short loc_40142C
ида + хексрэйз рулид(номег) =) Код (Text): bool __cdecl sub_40134A(const char *String, const char *a2) { double v2; // ST68_8@1 double v3; // ST58_8@1 bool result; // eax@2 double v5; // [sp+38h] [bp-48h]@6 double v6; // [sp+70h] [bp-10h]@1 double v7; // [sp+78h] [bp-8h]@1 v2 = atof(String); v7 = floor(v2); v3 = atof(a2); v6 = floor(v3); if ( 0.0 == v6 * v7 ) { result = 0; } else { if ( v7 == v6 ) { result = 0; } else { if ( v7 >= 1.0 && (v5 = (double)qword_403038, v5 >= v7) && v6 >= 1.0 && v5 >= v6 ) result = 0.0 == floor(sin(v7) * sin(v6) * (double)qword_403030); else result = 0; } } return result; }
Velheart +100 ВОТ ЭТО ВЕЩЬ!!! пиво дождалось своего часа)) Спасибо за помощь, товарищ!!! А можно точное название этой божественной тулзы?
ХА-ХА. Читеро-бит-хакеры обрадовались грязному взлому..да еще через кекс-хрейз. Это не дзен...Это не дао...
wh я ясно написал что получился только "грязным" способом и ХОТЕЛ БЫ РАЗОБРАТЬСЯ В АЛГОРИТМЕ. Velheart показал нужную тулзу С ПОМОЩЬЮ КОТОРОЙ НАМНОГО ПРОЩЕ РАЗОБРАТЬСЯ В АЛГОРИТМЕ(точнее и разбираться не надо, всё просто и понятно). И на основе предоставленного Velheart листинга можно легко сделать генератор паролей. Или в твоём понимании это тоже "грязный взлом"?
Так ты еще и варез используешь и радуешься этому...Ты никогда не постигнешь всю простоту (Дзен) hiew...магию IDA... ты никогда не обретешь путь Дао...