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

Create successful ePaper yourself

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

Making a loader<br />

Kao sto je vec objasnjeno loaderi se koriste kada zelimo da napravimo<br />

patch za pakovane ili kriptovane, ali mi cemo napraviti loader za obican<br />

crackme.<br />

Kao sto vidimo primer koji se nalazi u folderu Cas11 a zove se LOADME.exe<br />

prikazuje poruku da nije crackovan. Ovo znaci da se negde u programu<br />

nalazi poruka o tacno crackovanom programu. Ta poruka se nalazi ovde:<br />

00401052 . 47 6F 6F 64 2> ASCII "Good Cracker !!!"<br />

00401062 . 00 ASCII 0<br />

A da se ona prikazuje ovde:<br />

004010BF . BB 01000000<br />

MOV EBX,1<br />

004010C4 . 83FB 01<br />

CMP EBX,1<br />

004010C7 . 75 11<br />

JNZ SHORT LOADME.004010DA<br />

004010C9 . 68 40104000 PUSH LOADME.00401040 ; /Text = "Bad Cracker !!!"<br />

004010CE . 6A 64 PUSH 64<br />

004010D0 . FF75 08<br />

PUSH DWORD PTR SS:[EBP+8]<br />

004010D3 . E8 96000000<br />

CALL <br />

004010D8 . EB 15<br />

JMP SHORT LOADME.004010EF<br />

004010DA > 837D 10 02<br />

CMP DWORD PTR SS:[EBP+10],2<br />

004010DE . 75 0F<br />

JNZ SHORT LOADME.004010EF<br />

004010E0 . 68 52104000 PUSH LOADME.00401052 ; /Text = "Good Cracker !!!"<br />

004010E5 . 6A 64 PUSH 64<br />

004010E7 . FF75 08<br />

PUSH DWORD PTR SS:[EBP+8]<br />

004010EA . E8 7F000000<br />

CALL <br />

Patchovacemo skok na adresi 004010C7 JNZ u JMP, to jest sa 75 11 u EB 11<br />

i drugi skok na adresi 004010DE sa 75 0F u 90 90. Ovde necemo uraditi<br />

fizicki nego memorijski patch. Za ovo cemo iskoristiti R!SC Process Patcher<br />

koji se nalazi zipovan u folderu Cas11 kao fajl rpp.zip. Da biste napravili<br />

loader morate prvo napraviti jedan .rpp fajl. Njegov sadrzaj ce izgledati<br />

ovako:<br />

F=LOADME.exe:<br />

O=loader.exe:<br />

P=4010C7/75,11/EB,11:<br />

P=4010DE/75,0F/90,90:<br />

; PROCESS TO PATCH<br />

; LOADER TO CREATE<br />

; JNZ 2 JMP<br />

; JNZ 2 NOP<br />

$<br />

Posle ovoga mozete startovati Rpp.exe i pomocu njega kompajlovati ovaj<br />

.rpp skript. Kao rezultat dobicete fajl loader.exe koji ce uspesno patchovati<br />

memoriju LOADME.exe fajla. Sama struktura .rpp fajla je jednostavna pa je<br />

necu objasnjavati, a ako vam na prvi pogled nije jasno uporedite adrese i<br />

bajtove u redovima koji pocinju sa P=.<br />

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

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

Saved successfully!

Ooh no, something went wrong!