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.

KeyGen – Ripping #1<br />

Poglavlje o pravljenju keygeneratora je podeljeno u vise delova. Prvi<br />

deo ce vas nauciti kako da izmenite kod u nekoj “meti” tako da ona sama<br />

postane svoj keygenerator, a ostali kako da u nekom drugom programskom<br />

jeziku napisete keygen.“Meta” ce biti slicna kao na pocetku proslog poglavlja.<br />

Ucitajte program …\Casovi\Cas4\Serial2.exe u Olly. Kao sto smo u proslom<br />

poglavlju utvrdili, serijski broj se generise u petlji koja pocinje na adresi<br />

00407D83. Postavite break-point odmah ispod ove petlje, postavite breakpoint<br />

na adresu 00407DB2. Sa F9 pokrenite program i unesite bilo koje ime.<br />

Zatim pritisnite Check i program ce zastati na adresi 00407DB2. Idite polako<br />

kroz program sa F8 sve dok ne dodjete do adrese 00407DD8 kada ce se u<br />

EAXu prikazati tacan serijski broj za uneto ime. Ako izvrsite CALL na toj<br />

adresi iz EAXa ce nestati tacan serijski broj, a to ne zelimo. Stoga selektujte<br />

taj CALL i pritisnite space da biste ga izmenili. U novootvoreni dijalog unesite<br />

NOP i pritisnite OK. Sada bi to trebalo da izgleda ovako:<br />

Posto ni skok na adresi 00407DDD ne treba nikada da se izvrsi NOPovacemo<br />

i njega. Ako bismo stvari ostavili kao sto sada jesu program bi stalno na<br />

ekranu prikazivao poruku o tacnom serijskom broju (“Cracked OK”), ali ne i<br />

tacan serijski broj. Zapamtite da u EAXu sada imate tacan serijski broj i da<br />

samo treba da ga prikazete na ekran. Iskoristicemo cinjenicu da se string<br />

“Cracked OK” prikazuje na ekranu i samo cemo PUSH komandu malo<br />

modifikovati tako da umesto tog stringa prikazuje sadrzaj iz EAXa. Ta izmena<br />

izgleda ovako:<br />

Umesto PUSH 00407E3C (gde je ovaj hex broj adresa na kojoj se nalazi string<br />

“Cracked OK”) stavicemo jednostavno PUSH EAX i program ce umesto stringa<br />

prikazivati sadrzaj EAXa na ekranu kada sa izvrsavanjem programa dodje do<br />

adrese 00407DEF to jest do windows api funkcije SetDlgItemTextA. Ako<br />

zelite da snimite ove promene kliknite desnim dugmetom na modifikovani<br />

deo koda i pritisnite Copy to executable -> All modifications -> Copy all i<br />

samo ga snimite pod nekim drugim imenom. Na ovaj jednostavan nacin<br />

mozemo dodavati ili modifikovati postojece funkcije u exe fajlu. Imajte na<br />

umu da ovo nije pravi keygenerator posto nismo saznali kako radi algoritam<br />

za generisanje pravog serijskog broja. Bez obzira na sve napravili smo<br />

program koji moze da prikaze tacan serijski broj za bilo koje uneto ime.<br />

<strong>The</strong> <strong>Art</strong> <strong>of</strong> <strong>Reversing</strong> <strong>by</strong> <strong>Ap0x</strong> Page 93 <strong>of</strong> 293

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

Saved successfully!

Ooh no, something went wrong!