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.

ReCrypt 0.15<br />

Da bismo poceli sa otpakivanjem programa otvoricemo metu<br />

RETrace.ReCrypt015.exe pomocu OllyDBGa. Ono sto cemo videti na<br />

packer/crypter OEPu bice sledece:<br />

00406000 > 60 PUSHAD<br />

00406001 BE 2C604000 MOV ESI,RE-Trace.0040602C<br />

00406006 B9 2C000000 MOV ECX,2C<br />

0040600B 83F9 00 CMP ECX,0<br />

0040600E 74 0A JE SHORT RE-Trace.0040601A<br />

Ovo ocigledno nije pravi OEP pa cemo nastaviti sa traceovanjem kroz kod sa<br />

F8. Pritiskali smo F8 sve dok nismo stigli do sledece komande:<br />

00406018 ^\EB F1 JMP SHORT RE-Trace.0040600B<br />

Kao sto vidimo svaki put kada se ova komanda izvrsi kod ce se vratiti na<br />

adresu 0040600B. Posto ce se ovaj deo koda izvrsavati dosta puta<br />

postavicemo jedan breakpoint odmah ispod ovog JMPa. Dakle postavicemo<br />

breakpoint na 0040601A, posle cega cemo pritisnuti F9 da bismo stigli do<br />

ovog breakpointa. Kao sto vidimo deo koda ispod se drasticno promenio. Bez<br />

obzira na ovo nastavicemo traceovanje kroz kod sa F8 sve dok ne dodjemo<br />

do sledeceg JMPa:<br />

0040603A ^\EB F0<br />

JMP SHORT RE-Trace.0040602C<br />

Posto ce se i ovaj JMP izvrsavati dosta puta postavicemo breakpoint odmah<br />

ispod njega i sa F9 cemo doci do njega. To ce nas dovesti ovde:<br />

0040603C 8BC3 MOV EAX,EBX<br />

0040603E 8BFE MOV EDI,ESI<br />

00406040 41 INC ECX<br />

00406041 83F9 01 CMP ECX,1<br />

00406044 ^ 74 E6 JE SHORT RE-Trace.0040602C<br />

00406046 61 POPAD<br />

00406047 B8 58604000 MOV EAX,RE-Trace.00406058<br />

Iako smo izasli iz proslog JMPa videcemo da se i sledeci JE skok izvrsava veci<br />

broj puta pa cemo postaviti breakpoint na POPAD komandu. Posle ovoga<br />

cemo ponovo pritisnuti F9 da bismo dosli do naseg breakpointa. Konacno<br />

smo stigli do kraja algoritma za dekripciju:<br />

00406047 B8 58604000 MOV EAX,RE-Trace.00406058<br />

0040604C 83C0 10 ADD EAX,10<br />

0040604F 8B00 MOV EAX,DWORD PTR DS:[EAX]<br />

00406051 05 00004000 ADD EAX,RE-Trace.00400000<br />

00406056 FFE0 JMP NEAR EAX<br />

Sada samo treba da postavimo breakpoint na komandu JMP EAX i pritisnemo<br />

F9 da dodjemo do nje i F8 da se nadjemo na OEPu.<br />

00401031 . 6A 00 PUSH 0<br />

00401033 . E8 94040000 CALL <br />

Kao sto vidimo na pravom smo mestu. Ovde treba da uradimo dump pomocu<br />

LordPEa. Ako pogledate malo detaljnije kod zakljucicete da je ovo samo<br />

kripter i da importi nisu pokvareni stoga nema potrebe za koriscenjem<br />

ImpReca. Bilo kako bilo naucili smo kako da brzo i lako dodjemo do OEPa<br />

ovog custom cryptera.<br />

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

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

Saved successfully!

Ooh no, something went wrong!