Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
pokusava da otvori taj fajl. Ako fajl nepostoji ili ne moze biti otvoren onda cese skok na adresi 00408432 izvrsiti i program ce proveriti neki drugi uredjaj.Pogledajmo sa bi se to izvrsilo kada bi fajl postojao :00408434 |. 8D85 1CFEFFFF |LEA EAX,DWORD PTR SS:[EBP-1E4]0040843A |. B9 2C854000 |MOV ECX,cd.0040852C ; ASCII "\main.xxx"0040843F |. 8B55 F8 |MOV EDX,DWORD PTR SS:[EBP-8]00408442 |. E8 D9B9FFFF |CALL cd.00403E2000408447 |. 8B95 1CFEFFFF |MOV EDX,DWORD PTR SS:[EBP-1E4]0040844D |. 8D85 2CFEFFFF |LEA EAX,DWORD PTR SS:[EBP-1D4]00408453 |. E8 0CA5FFFF |CALL cd.0040296400408458 |. 8D85 2CFEFFFF |LEA EAX,DWORD PTR SS:[EBP-1D4]0040845E |. E8 9DA2FFFF |CALL cd.0040270000408463 |. E8 B0A1FFFF |CALL cd.0040261800408468 |. 8D55 FC |LEA EDX,DWORD PTR SS:[EBP-4]0040846B |. 8D85 2CFEFFFF |LEA EAX,DWORD PTR SS:[EBP-1D4]00408471 |. E8 86A7FFFF |CALL cd.00402BFC00408476 |. 8D85 2CFEFFFF |LEA EAX,DWORD PTR SS:[EBP-1D4]0040847C |. E8 E7A7FFFF |CALL cd.00402C6800408481 |. E8 92A1FFFF |CALL cd.0040261800408486 |. 8B45 FC |MOV EAX,DWORD PTR SS:[EBP-4]00408489 |. BA 40854000 |MOV EDX,cd.00408540 ; ASCII "CD_main_xxx"0040848E |. E8 85BAFFFF |CALL cd.00403F1800408493 |. 75 05 |JNZ SHORT cd.0040849A00408495 |. BE 01000000 |MOV ESI,10040849A | 8D85 2CFEFFFF |LEA EAX,DWORD PTR SS:[EBP-1D4]004084A0 |. E8 7BA5FFFF |CALL cd.00402A20004084A5 |. E8 6EA1FFFF |CALL cd.00402618Ovo i ne izgleda kao nesto posebno, nema nikakvih poredjenja i uslova semjednog skoka na adresi 00408493 koji kada se ne izvrsi ESI postaje jednak 1.Hmmm ovo bi mozda moglo biti zanimljivo??? Ako pogledamo odmah ispodove petlje videcemo ovo:004084B4 |. 85F6004084B6 |. 75 18TEST ESI,ESIJNZ SHORT cd.004084D0A ako se ovaj skok izvrsi vodi nas pravo na poruku o ubacenom CDu u CD-ROM i do “st<strong>art</strong>ovanja igre”. Ako pogledamo pre same petlje videcemo da jepocetno stanje ESIa jednako 0.004083B5 |. 33F6004083B7 |. BB 41000000XOR ESI,ESIMOV EBX,41Analizom ove petlje dosli smo do zakljucka da ce program ispitati sveuradjaje u kompjuteru od A: do Z: u potrazi za CD koji na sebi ima fajl“main.xxx”, i ako je ovo sve ispunjeno i taj fajl sadrzi nesto sto se u njemutrazi (najverovatnije string “CD_main_xxx”), ako je ovo sve ispunjeno ondace ESI biti jednak 1 kao znak da se CD sa igricom nalazi u sistemu. Ovajproblem mozemo resiti na razlicite nacine.1) Mozemo promeniti skok na adresi 004084B6 u JMP tako da se igrauvek st<strong>art</strong>uje (ovo je ujedno i nalaksi nacin)2) Mozemo umesto JNE (jnz) na adresi 004084AE uneti MOV ESI,1 takoda je ESI pre same provere (TEST ESI,ESI) sigurno jednak 13) Mozemo izmeniti adresu 004083B2 i uneti MOV ESI,1 umestopostojeceg koda i tako cemo pre same petlje ESIu dodeliti vrednost 1 iizbrisati ono XOR ESI,ESI sto ESIu dodeljuje vrednost 0.4) Postoji mnogo nacina, vi kao vezbu uz ovo poglavlje smislite neki kojija nisam ovde nabrojao.<strong>The</strong> Art <strong>of</strong> Cracking by Ap0x Page 56 <strong>of</strong> 165