Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Adding functions #2Prvi deo poglavlja je objasnio dodavanje MessageBoxa u program. Udrugom delu ovog poglavlja cu vam pokazati kako da dodate Dialog u nekiprogram i kako da ga nacinite 100% funkcionalnim. Zvuci li zanimljivo??? Pada pocnemo. Otvoricemo metu original.exe a nalazi se u folderu Cas6, pomocuResHackera. Zasto??? Zato sto moramo da dodamo nove resurse u sam exefajl a to cemo najlakse uraditi pomocu ResHackera. Sada vidite zasto samrekao da ResHacker ima jos mnogokorisnih funkcija. Kao sto vidimo naslici pored izabracemo iz glavnogmenija Action -> Add new resource ikada se pojavi dialog sa slikeizabracemo fajl addonDialog.res idodacemo jedan po jedan oba resursakoja se nalaze u tom fajlu. Ne ja ovdenemam nameru da objasnim kako seprave .res fajlovi. Za ovo cete samimorati da pregledate Micros<strong>of</strong>tovudokumentaciju o Resource Compileru.Posle ovog dodavanja moramo damapiramo, to jest da zapisemo sveIDove koji se nalaze u novom dodatomDialogu. ID samog dialoga je 999(3E7h), dugme ? ima ID 3007 (BBFh),dugme Visit Web page ID 3005(BBDh), a dugme Exit ID 3006 (BBEh).Ovo nam je potrebno kako bi smopovezali sve ove dugmice sa funkcijama koje ce raditi svoj posao. Sadamozemo da snimimo promene u ovom fajlu, snimicemo ovaj fajl kaoAddOn.exe. Mozemo da zavrsimo sa ResHackerom i da otvorimo novosnimljenifajl sa Ollyjem. Pre nego sto pocnemo sa dodavanjem funkcija u fajlprvo moramo da odlucimo gde cemo ih dodati i kako. Posto moramo daprikazemo novi dialog na ekranu bekapovacemo sledece linije ASM koda urecimo Notepad, jer ce nam kasnije trebati:00408722 . 6A 00 PUSH 0 ; /lParam = NULL00408724 . 68 C8854000 PUSH AddOn.004085C8 ; |DlgProc =00408729 . 6A 00 PUSH 0 ; |hOwner = NULL0040872B . 6A 64 PUSH 64 ; |pTemplate = 640040872D . FF35 4CA84000 PUSH DWORD PTR DS:[40A84C] ; |hInst = 000408733 . E8 C4C4FFFF CALL DialogBoxParamA ; \DialogBoxParamAdalje treba da backupujemo poruku koja ce se pojaviti kada pritisnemodugme ?. Dakle treba da backupujemo ovo:00408611 |. 6A 40 PUSH 40 ; /Style = MB_OK00408613 |. A1 90924000 MOV EAX,DWORD PTR DS:[409290] ; |00408618 |. 50 PUSH EAX ; |Title => "About..."00408619 |. A1 94924000 MOV EAX,DWORD PTR DS:[409294] ; |0040861E |. 50 PUSH EAX ; |Text => "U “0040861F |. 53 PUSH EBX ; |hOwner00408620 |. E8 07C6FFFF CALL MessageBox A ; \MessageBoxA<strong>The</strong> Art <strong>of</strong> Cracking by Ap0x Page 63 <strong>of</strong> 165