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.

ACProtect 1.4x<br />

ACProtect je komercijalan protektor cija je najnovija verzija datirana<br />

na 2004 godinu. U originalu ime protektora je AntiCrack protector ili kako ga<br />

PeID identifikuje UltraProtect. I jedan i drugi naziv zvuce veoma privlacno i<br />

prosto traze detaljnu analizu. Naravno ovo je izazov koji nikako ne smemo<br />

propustiti i stigo cemo otvoriti metu crackme.ACProtect.exe pomocu Ollyja. Na<br />

samom OEPu ACProtectora cemo videti sledece:<br />

00407000 > $ 60 PUSHAD<br />

00407001 . E8 01000000 CALL crackme_.00407007<br />

00407006 E9 DB E9<br />

00407007 /$ 830424 06 ADD DWORD PTR SS:[ESP],6<br />

0040700B \. C3<br />

RET<br />

Ovo je kod koji neodoljivo podseca na ASProtect, ali za razliku od ASProtecta<br />

mi cemo ovde iskoristiti stack trik kako bismo veoma brzo dosli do pravog<br />

OEPa. Dakle, kao i kod ASPacka, pritisnucemo F8 i videcemo da se ESP<br />

registar promenio zbog cega cemo ga izabrati (a i zbog cinjenice ga on pokazuje<br />

na STACK) i selektovacemo opciju Follow in Dump posle cega cemo videti<br />

sledece u Hex View prozoru:<br />

0012FFA4 FF FF FF FF 6A 16 F5 77 ....j..w<br />

0012FFAC F0 FF 12 00 C4 FF 12 00 ........<br />

Kao i kod ASPacka selektovacemo prva cetiri bajta na 0012FFA4 adresi (moze<br />

se razlikovati na vasem Windowsu) i desnim klikom cemo izabrati Breakpoint,<br />

pa Hardware on Access, pa DWORD. Sada nam ostaje da pritiskamo F9 dok<br />

se ne nadjemo u blizini OEPa. Posle prvog klika na F9 naci cemo se ovde:<br />

004070A3 . 51<br />

004070A4 . 8F05 B1784000<br />

004070AA . 60<br />

PUSH ECX<br />

POP DWORD PTR DS:[4078B1]<br />

PUSHAD<br />

Ne ovo nije OEP, pritisnucemo 2x F9 (CTRL + A) i ovde smo:<br />

004071A3 . 51<br />

004071A4 . 8F05 E9784000<br />

004071AA . 60<br />

PUSH ECX<br />

POP DWORD PTR DS:[4078E9]<br />

PUSHAD<br />

I dalje nismo na OEPu pa cemo pritisnuti F9 jos 2x i naci cemo se ovde:<br />

0040728D . 56 PUSH ESI ; ntdll.77F5166A<br />

0040728E . 8F05 7D794000 POP DWORD PTR DS:[40797D]<br />

00407294 . 60 PUSHAD<br />

Pritiskamo F9 sve dok ne dodjemo dovde:<br />

0041D6A8 EB DB EB<br />

0041D6A9 01 DB 01<br />

0041D6AA 7F DB 7F<br />

a kada i ovde pritisnemo F9 pojavljuje se ACProtect NAG. Ovo znaci da smo<br />

blizu OEPa, pa cemo posle klika OK na NAGu analizirati mesto gde se<br />

nalazimo, klikom na CTRL+A dobijamo:<br />

0041E106 . /EB 01<br />

JMP SHORT crackme_.0041E109<br />

0041E108 |E8 DB E8<br />

0041E109 >-\FF25 4BE14100 JMP NEAR DWORD PTR DS:[41E14B]<br />

0041E10F . 60<br />

PUSHAD<br />

; crackme_.004012C0<br />

Izvrsicemo JMP skok na kojem se nalazimo sa F8 jer nam sledeci skok koji<br />

vodi na 004012C0 izgleda sumnljivo (a i otpakivali smo ovaj crackme toliko puta<br />

da vec znamo da je OEP 004012C0). Posle izvrsavanja i ovog sumnljivog skoka<br />

na 004012C0 dolazimo ovde:<br />

004012C0 /. 55<br />

PUSH EBP<br />

004012C1 |. 8BEC<br />

MOV EBP,ESP<br />

004012C3 |. 6A FF PUSH -1<br />

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

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

Saved successfully!

Ooh no, something went wrong!