13.07.2015 Views

The art of cracking - Tutoriali

The art of cracking - Tutoriali

The art of cracking - Tutoriali

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Dakle na adresi 00401253 se poziva t.j. kreira tajmer sa IDom 1 i vremenomponavljanja od 10000 ms odnosno 10 sekundi. Ako analiziramo malo ova deokoda primeticemo da posto se kreira tajmer izvrsava se neki JMP skok kojipreskace par API funkcija (GetDlgItem, EnableWindow, EndDialog). Primeticemoda se i iznad API funkcije za kreiranje tajmera nalazi par kondicionih JEskokova je jedan nekondicioni JMP skok. Mozemo da postavimo break-pointena njih i da st<strong>art</strong>ujemo program sa F9 kada dodje do njih. Tada cemoprimetiti da se tajmer kreira samo jednom a da se ostali skokovi neizvrsavaju dok ne prodje 10 sekundi, kada se izvrsava skok na adresi0040123E koji vodi do adrese 0040125A koja prvo vraca handle (adresukontrole koja se trazi u memoriji) neke kontrole uz pomoc GetDlgItem API da bise toj istoj kontroli poslala komanda Enable = True preko APIaEnableWindow. Izgleda da se API EnableWindow koristi za ukljucivanjeiskljucenih dugmadi, menija i sl. I posle malo mucenja pronasli smo APIfunkciju koja se koristi za ukljucivanje dugmica. Ona glasi ovako:EnableWindow(hwnd,1)gde umesto hwnd ide handle dugmeta ili nekog drugog objekta u prozoru aumesto 1 ide 1 za ukljucivanje i 0 za iskljucivanje. Hwnd dugmeta mozemodobiti pomocu druge API funkcije GetDlgItem koja se poziva ovako:GetDlgItem(hwnd,ControlID)gde je hwnd handle prozora u kojem se nalazi dugme a control ID je Id kojismo dodelili nasem dugmetu u .res fajlu, u ovom slucaju ControlID je 1 jer jetako Daten (autor programa) deklarisao ID u .res fajlu. Naravno ako ste zarazliku od mene procitali Micros<strong>of</strong>t-ove API reference ovo ste znali i bezprimene reversenog inzinjeringa. Ja sam ovo morao da naucim na malo tezinacin :)Nacin 2:Ovo je malo tezi (ili malo laksi???) nacin od predhodnog i ja sam ga prvobitnoupotrebio da pronadjem API koji nam treba. Otvorio sam ovaj crackmepomocu ResHackera da pronadjem ID (jedinstveni identifikacioni broj) pomocu<strong>The</strong> Art <strong>of</strong> Cracking by Ap0x Page 83 <strong>of</strong> 165

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!