The Art of Reversing by Ap0x - Tutoriali.org
The Art of Reversing by Ap0x - Tutoriali.org
The Art of Reversing by Ap0x - Tutoriali.org
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