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.

Inline patching: FSG 1.33<br />

Do sada smo naucili kako da ubacujemo kod u .exe fajl kada u njemu<br />

ima dovoljno mesta za ubacivanje koda. Ali sta cemo da radimo kada u .exe<br />

fajlu nema dovoljno mesta E tada je potrebno dodati prazan prostor u .exe<br />

fajl kako bismo ubacili nas patch kod. Ovo cemo uraditi na primeru mete<br />

crackme.fsged.original.exe koju cemo prvo otvoriti pomocu Ollya kako bi smo<br />

nasli skok ka OEPu. Posto smo vec otpakivali FSG znamo da se skok ka OEPu<br />

nalazi ovde:<br />

0040960A > \FE0E<br />

0040960C .- 0F84 AE7CFFFF<br />

DEC BYTE PTR DS:[ESI]<br />

JE crackme_.004012C0<br />

00409612 . 56 PUSH ESI<br />

Sada cemo zatvoriti Olly i otvoricemo nasu metu pomocu nekog hex<br />

editora i dodacemo na sam kraj fajla 0x71 ili 113 (decimalno) 0x00 bajtova.<br />

Ovo se recimo u HexWorkShopu radi tako sto odemo na sam kraj fajla,<br />

pritisnemo Inset dugme da bismo ubacili 0x00 bajtove i drzimo nulu sve dok<br />

ne ubacimo svih 0x71 bajtova.<br />

Kada smo ovo uradili mozemo da zatvorimo HexWorkShop i da<br />

otvorimo snimljeni fajl u LordPEu kako bismo prosirili poslednju sekciju. Ovo<br />

cemo uraditi klikom na dugme sections u LordPEu dok smo u PE Editor modu.<br />

Sada treba izabrati poslednju sekciju i promeniti jos Raw size (stvarnu fizicku<br />

velicinu) sa 00002664 na 000026D5 - 1 jer smo na kraj fajla dodali 0x71<br />

bajtova, a zelimo da budemo sigurni da ce fajl raditi posle popravke sectiona<br />

pomocu LordPEa. Zato umesto vrednosti 000026D5 unosimo 000026D4.<br />

Kada uradimo izmene nase sekcije bi trebale da izgledaju ovako:<br />

Ostaje nam jos samo da ubacimo nas kod u novonastali prazan prostor<br />

pomocu Ollyja. Sam kod cemo poceti da ubacujemo ovde:<br />

00409667 00 DB 00<br />

A sam kod koji cemo ubaciti kao i kod ASPacka i EZipa izgleda ovako:<br />

00409667 C605 35104000>MOV BYTE PTR DS:[401035],0FF<br />

0040966E C605 8A104000>MOV BYTE PTR DS:[40108A],0<br />

Naravno kada smo ovo uradili potrebno je da skok JE 004012C0 promenimo<br />

tako da on pokazuje na nas kod (u JE 00409667), to jest na 00409667, i da<br />

dodamo jedan skok odmah posle naseg patch koda koji ce voditi na OEP, to<br />

jest potrebno je da dodamo JMP 004012C0 komandu na adresu 00409675.<br />

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

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

Saved successfully!

Ooh no, something went wrong!