07.02.2015 Views

The Art of Reversing by Ap0x - Tutoriali.org

The Art of Reversing by Ap0x - Tutoriali.org

The Art of Reversing by Ap0x - Tutoriali.org

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.

<strong>The</strong> Serials – Fishing #3<br />

Ovo je drugi deo poglavlja o takozvanom “pecanju” serijskih brojeva.<br />

Ovaj deo knjige ce vas nauciti kako da iskoristite Windowsove API funkcije<br />

kako bi ste nasli mesto gde se racuna pravi serijski broj. Primer za ovaj deo<br />

knjige se nalazi u folderu Cas3 a zove se keygenme1.exe. Ovaj primer sam<br />

izabrao zato sto se u njemu ne nalaze klasicni stringovi koji bi vam pomogli<br />

da nadjete mesto gde se racuna i proverara serijski broj. Otvoricemo ovaj<br />

program uz pomoc Ollya i pocecemo sa potragom za pravim serijskim<br />

brojem. Pre nego sto pocnemo moracemo da znamo sve API funkcije pomocu<br />

kojih se citaju podaci iz polja za unos. Te API funkcije se nalaze u sledecoj<br />

tabeli:<br />

Win16<br />

GetWindowText<br />

GetDlgitemText<br />

GetDlgitemInt<br />

Win32<br />

GetWindowTextA<br />

GetDlgitemTextA<br />

GetDlgitemIntA<br />

Sve API funkcije, koje poziva nasa meta se mogu videti u prozoru Executable<br />

modules -> View names. Do ovoga cemo stici jednostavnim klikom na<br />

dugme E iz toolbara, selekcijom naseg exe fajla u novom prozoru i izabirom<br />

opcije View Names do koje stizemo desnim klikom na nas exe fajl. U prozoru<br />

view names cemo pronaci neke od API funkcija iz gornje tabele. Jedini API<br />

poziv koji cemo naci je GetWindowTextA pa cemo desnim klikom na njega<br />

postaviti break-point na svakoj referenci kao ovom APIu. Sada cemo se<br />

vratiti u nasu metu i kao ime i serijski broj unecemo: ap0x, 111111. Posle<br />

ovoga cemo pritisnuti OK i naci cemo se ovde:<br />

00401074 |. 8B1D 9C404000 MOV EBX,DWORD PTR DS:[;<br />

0040107A |. 8D45 94<br />

LEA EAX,DWORD PTR SS:[EBP-6C]<br />

0040107D |. 6A 64 PUSH 64 ; /Count = 64 (100.)<br />

Sada sa 100% sigurnoscu znamo da se negde ispod proverava serijski broj.<br />

Sa F8 cemo ispitati kod ispod nase trenutne pozicije.<br />

004010AC |. 50 PUSH EAX

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

Saved successfully!

Ooh no, something went wrong!