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.

tElock 0.80<br />

Moram da priznam da sam fajl sa ovom zastitom slucajno nasao medju<br />

svojom kolekcijom targeta. Naime ovaj fajl se nalazio zajedno sa programom<br />

pod imenom DZA patcher crackerske grupe TNT! Posto nisam nikada pre<br />

otpakivao ni jedan program pakovan sa tElockom odlucio sam da probam.<br />

Naravno posto nigde nisam nasao tutorijal kako bih otpakovao ovu zastitu (a<br />

nisam ni trazio posto pri ruci nisam imao internet pa sam samo prekopao svoj hard<br />

disk) odlucio sam da ovo uradim onako muski, na nevidjeno. Meta za ovaj<br />

deo poglavlja ce biti fajl demo.tElock.exe, ovaj fajl cemo ucitati u Olly i<br />

pokusacemo da ga otpakujemo. Imajte na umu da sam se ja mucio oko<br />

ovoga nesto malo manje od pola sata i da cu neke stvari ovde izgledati<br />

mozda malo nelogicne ali su tu kako bi ubrzale proces otpakivanja, stoga ih<br />

shvatite kao apriore, to jest kao cinjenice koje su takve i ne dokazuju se.<br />

Posle vecanja kako da otpakujem ovu metu odlucio sam da je najlakse<br />

da postavim jedan memorjski breakpoint na CODE sekciju fajla i da odatle<br />

krenem sa reversingom. Da bismo ovo uradili moramo da odemo u prozor<br />

modules ALT+M i da desnim klikom na sekciju CODE postavimo Set Memory<br />

breakpoint on access. Taj prozor izgleda kao ovaj sa slike dole. Ja sam vec<br />

vise puta startovao<br />

ovaj program pa<br />

znam da ce vam on<br />

praviti gomilu<br />

execeptiona i da<br />

necete moci da ih<br />

sve zaobidjete<br />

pritiskom na<br />

CTRL+F9. Zato<br />

cemo pritiskati<br />

CTRL+F9 onoliko<br />

puta koliko je<br />

potrebno da se<br />

predju svi ovi<br />

exceptioni i da se dodje do prvog memorijskog breakpointa. Ja sam pritisnuo<br />

CTRL+F9 cak 10x kako bih stigao do prvog memorijskog breakpointa. Posto<br />

sam ja ovaj kod vise puta analizirao otkrio sam da on sluzi za otpakivanje<br />

koda u memoriju. Sada se mozemo vratiti u prozor Memory map i iskljuciti<br />

breakpoint na CODE sekciji. Kada se vratimo nazad u CPU prozor videcemo<br />

gde smo to stali sa izvrsavanjem koda.<br />

0040868F AC LODS BYTE PTR DS:[ESI]<br />

00408690 F6D8 NEG AL<br />

00408692 04 01 ADD AL,1<br />

00408694 8AD2 MOV DL,DL<br />

Ovaj deo koda nam je totalno nerazumljiv ali posle dosta (stvarno dosta)<br />

traceovanja dosao sam do zakljucka da i ovaj deo koda sluzi za otpakivanje u<br />

memoriju. Da bismo preskocili ceo ovaj kod za otpakivanje skrolovacemo<br />

dole do adrese 004087BA na kojoj se nalazi jedna JMP EAX komanda. Na nju<br />

cemo postaviti obican breakpoint. Ako vas Olly nesto pita odgovorite mu sa<br />

YES. Sada cemo pritisnuti F9 da bismo dosli do tog breakpointa. Pritisnucemo<br />

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

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

Saved successfully!

Ooh no, something went wrong!