You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Local calls from 004509BA, 00450A13, 00450A45, 00450A67, 00450A89, 00450AAB,00450ACD, 00450AEF, 00450B11to jest da se on poziva sa vise adresa. Na svaku od ovih adresa mozemo daodemo pritiskom da desnuo dugme na ovoj liniji i selekcijom na koju toadresu zelimo da odemo. Ako odemo samo na neke od tih adresa bice namjasno sta se tu desava. Oticemo samo na adrese 00450DED i na adresu00450B11. Na adresi 00450DED imamo:00450DC3 . 27 20 37 25 2 ASCII "' 7%%'"00450DC9 . 30 62 24 2D 3 ASCII "0b$-7,&nb#22.+!#"00450DD9 . 36 2B 2D 2C 6 ASCII "6+-,b5+..b',&l",000450DE8 . E8 87F9FFFF CALL IsDebuggerPresent ; [IsDebuggerPresent]00450DED . E8 52FFFFFF CALL Debugger.00450D4400450DF2 . C3 RETOvaj prvi kod prikazuje poziv poruci o detektovanom debuggeru odmah posleCALLa IsDebuggerPresent APIa. Ok sada znamo da program prisustvodebuggera proverava uz pomoc API funkcije. Ovo je prvi deo provere. Drugideo provere se nalazi na adresi 00450B11. Na toj adresi imamo ovo:00450B09 |. 50 PUSH EAX ; /Title00450B0A |. 6A 00 PUSH 0 ; |Class = 000450B0C |. E8 0F62FBFF CALL FindWindowA ; \FindWindowA00450B11 |. E8 F6FCFFFF CALL Debugger.0045080C00450B16 |. 33C0 XOR EAX,EAXodakle zakljucujemo da je druga provera FindWindowA. Resenje obe oveprovere je izuzetno lako. Mozemo jednostavno staviti RET komande naadresama 00450D44, 0045080C i problem je resen. Ako zelimo da vidimokoje to prozore ovaj program trazi mozemo jednostavno postaviti breakpointovena sve CALLove ka FindWindowA APIu. Imajte na umu da se breakpointine postavljaju na sam CALL FindWindowA nego na PUSH EAX pre togaposto ce se tada u EAXu nalaziti naslov (title) prozora koji se trazi.<strong>The</strong> Art <strong>of</strong> Cracking by Ap0x Page 79 <strong>of</strong> 165