13.07.2015 Views

The art of cracking - Tutoriali

The art of cracking - Tutoriali

The art of cracking - Tutoriali

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

kojeg se program “obraca” ovoj kontroli. Kada otvorimo crackme pomocuResHackera imacemo ovo:900 DIALOG 0, 0, 240, 191STYLE DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION |WS_SYSMENUCAPTION "NAG-SCREEN"LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRALFONT 8, "MS Sans Serif"{CONTROL "&Continue", 1, BUTTON, BS_PUSHBUTTON | BS_CENTER | WS_CHILD |WS_VISIBLE | WS_DISABLED | WS_TABSTOP, 92, 172, 50, 14CONTROL "NAG", 101, STATIC, SS_CENTER | WS_CHILD | WS_VISIBLE, 20, 48, 200, 10CONTROL "This nag stays here for 10 seconds, because", 102, STATIC, SS_CENTER |WS_CHILD | WS_VISIBLE, 20, 120, 192, 8CONTROL "you did not pay for this program !", 103, STATIC, SS_CENTER | WS_CHILD |WS_VISIBLE, 20, 132, 200, 9CONTROL "NAG, NAG, NAG ;))", 104, STATIC, SS_CENTER | WS_CHILD | WS_VISIBLE, 40,146, 148, 13...}iz cega smo saznali mnogo... Saznali smo da je ID cele forme koja sepojavljuje na ekranu 900 (decimalno) i saznali smo da je ID dugmetaContinue jednak 1. Ovo je bitno jer kada program na ASM nivou zeli da uradinesto sa nekim objektom on prvo mora da zna na koji objekat se datakomanda odnosi. Dakle ono sto je sigurno je da ce se kao jedan odparametara API funkciji koja ukljucuje dugme sigurno proslediti i IDdugmeta. To bi moglo da izgleda bas ovako:PUSH ukljuci_dugmePUSH Id_controlePUSH neki_drugi_parametriCALL UkljuciDugmeAPIKao sto vidimo moraju se koristiti PUSH komande, a PUSH 1 kako bi trebaloda izgleda prosledjivanje IDa dugmeta bi u HEX obliku izgledalo ovako 6A01.Sada samo treba da potrazimo ovaj binarni string u fajlu i videcemo odaklese to poziva API za ukljucivanje dugmeta. Pritisnite CTRL + B u CPU prozoruOllya da nadjete ovaj string. Kada unesete 6A01 prozor koji se pojavio trebada izgleda ovako:Pritiskom na dugme OKprogram ce nas odvestina adresu 0040111B aocigledno je da je topogresna adresa jerCreateFileA sluzi za nestodrugo. Pritisnucemo ondaCTRL+L (search again) izavrsicemo na adresi0040125A gde se nalazipar zanimljivih redova:PUSH 1 // enable = true,red PUSH 1 // ControlID i red CALL EnableWindow pa je ocigledno da se APIEnableWindow koristi za ukljucivanje dugmeta a da su mu parametri handlekontrole i true ili false switch.<strong>The</strong> Art <strong>of</strong> Cracking by Ap0x Page 84 <strong>of</strong> 165

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

Saved successfully!

Ooh no, something went wrong!