The Art of Reversing by Ap0x - Tutoriali.org
The Art of Reversing by Ap0x - Tutoriali.org
The Art of Reversing by Ap0x - Tutoriali.org
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
PeCompact 1.40<br />
Sada sam 100% siguran da se pitate: “Zasto je napisao prvo kako se<br />
otpakuje PeCompact 2.22 a tek onda kako PeCompact 1.40” Naravno imam<br />
ja svoje razloge zasto je to ovako uradjeno. Jedan od glavnih razloga je taj<br />
sto je mnogo lakse otpakovati novu 2.22 verziju nego staru 1.40. Ne<br />
verujete mi Videcemo :) Meta koja je pakovana sa 1.40 verzijom<br />
PeCompacta se zove Notepad.pecompact140.exe. Pre nego sto otvorimo<br />
metu pomocu Ollyja prvo cu vam pokazati jedan jako interesantan trik sa<br />
PeIDom. Naime PeID ima jedan veoma interesantan plugin koji nam<br />
omogucava da unapred odredimo OEP mete. Dakle otvoricemo metu pomocu<br />
PeIDa koji ce nam prvo reci da je meta pakovana sa: PECompact 1.40 - 1.45<br />
-> Jeremy Collake a ako kliknemo na dugme -> koje se nalazi u donjem<br />
desnom uglu i izaberemo Plugins -> Generic OEP finder, posle cega ce PeID<br />
prikazati poruku da se OEP nalazi na adresi 004010CC. Posle ovoga mozemo<br />
da zatvorimo PeID i da ucitamo metu u OllyDBG.<br />
Pakerov OEP izgleda ovako:<br />
0040AC5E > /EB 06<br />
0040AC60 |68 CC100000<br />
0040AC65 |C3<br />
0040AC66 \9C<br />
JMP SHORT Notepad_.0040AC66<br />
PUSH 10CC<br />
RET<br />
PUSHFD<br />
Sada vidite razliku izmedju verzija. Btw da li ste primetili parametar koji ima<br />
PUSH komanda Da, da znam PUSH 10CC, to je PUSH OEP. Bez obzira na<br />
ovo, pritiskacemo F8 sve dok ne dodjemo do CALLa na adresi 0040AC68 u<br />
koji moramo da udjemo. Taj CALL izgleda bas ovako:<br />
0040AC68 E8 02000000 CALL Notepad_.0040AC6F<br />
stoga cemo pritisnuti F7 da udjemo u ovaj CALL kada dodjemo do njega, to<br />
nas vodi ovde:<br />
0040AC6F 8BC4 MOV EAX,ESP<br />
0040AC71 83C0 04 ADD EAX,4<br />
0040AC74 93 XCHG EAX,EBX<br />
0040AC75 8BE3 MOV ESP,EBX<br />
Posto se dole nalazi jedna RET komanda a izmedju nema nikakvih skokova<br />
izvrsicemo sve komande sa F8, ukljucujuci i RET komandu, posle cega smo<br />
ovde:<br />
0040D1C3 BD 53310000 MOV EBP,3153<br />
0040D1C8 57 PUSH EDI<br />
0040D1C9 5E POP ESI<br />
0040D1CA 83C6 42 ADD ESI,42<br />
0040D1CD 81C7 53110000 ADD EDI,1153<br />
0040D1D3 56 PUSH ESI<br />
dalje i nema neke velike mudrosti jednostavno drzimo F8 sve dok ne<br />
dodjemo do adrese:<br />
0040D350 57 PUSH EDI<br />
0040D351 8BBD D7A44000 MOV EDI,DWORD PTR SS:[EBP+40A4D7]<br />
0040D357 03BD A6A04000 ADD EDI,DWORD PTR SS:[EBP+40A0A6]<br />
0040D35D 8B8D DBA44000 MOV ECX,DWORD PTR SS:[EBP+40A4DB]<br />
malo ispod toga imamo dosta loopova koji se izvrsavaju dosta puta, ti<br />
loopovi izgledaju ovako:<br />
0040D36E /74 72<br />
0040D370 |78 70<br />
0040D372 |66:8B07<br />
0040D375 |2C E8<br />
0040D377 |3C 01<br />
JE SHORT Notepad_.0040D3E2<br />
JS SHORT Notepad_.0040D3E2<br />
MOV AX,WORD PTR DS:[EDI]<br />
SUB AL,0E8<br />
CMP AL,1<br />
<strong>The</strong> <strong>Art</strong> <strong>of</strong> <strong>Reversing</strong> <strong>by</strong> <strong>Ap0x</strong> Page 218 <strong>of</strong> 293