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.

povecavaju za odredjeni broj. Ovaj broj ne mora biti uvek jedan, veoma<br />

cesto i nije jedan. Taj broj direktno zavisi od sadrzaja koji se nalazi uokviren<br />

plavo na slici. Ovi hex brojevi predstavljaju komande koje su u fajlu zapisane<br />

u HEX obliku. Tako je HEXa decimalno 55 ekvivalentno ASM komandi PUSH<br />

EBP. Primeticete da se ovi HEX brojevi pisu iskljucivo u paru po dva. Samo<br />

dvocifreni HEX brojevi predstavljaju komande koje su ekvivalentne onima<br />

koje su na slici uokvirene zelenom bojom. Nama je za ovaj primer bitno da<br />

se ASM komanda NOP u HEX obliku pise kao 90. Ovo znaci da je jedno 90<br />

ekvivalentno jednoj komandi NOP. Da bismo NOPovali jedan red moramo da<br />

zamenimo sve dvocifrene HEX brojeve iz tog reda sa 90. Na primer ako<br />

brisemo red koji se nalazi na adresi 004012E0 moracemo da zamenimo<br />

sadrzaj ove adrese (83EC0C) sa tri NOP komande (909090) jer postoje tri<br />

para dvocifrenih brojeva u toj liniji. Primetite kako se to adrese povecavaju,<br />

videcete da se recimo iza adrese 004012C0 nalazi 004012C3. Logicno je za<br />

ocekivati da se iza 004012C0 nalazi 004012C1, ali ovde se nalazi 004012C3.<br />

Ovo se desava zato sto se u ASMu svakom dvocifrenom broju dodeljuje samo<br />

jedna adresa. Dakle ako je adresa 004012C0 onda se na toj adresi nalazi<br />

samo jedan dvocifreni broj i to 83, na adresi 004012C1 se nalazi E4, a na<br />

adresi 004012C2 F0. Jedini razlog zasto su ove tri adrese spojene u jedan<br />

red je zato sto te tri adrese predstavljaju samo jednu ASM komandu, pa zbog<br />

toga je prva sledeca adresa, na kojoj se nalazi sledeca ASM komanda,<br />

004012C3. Adrese redova odgovaraju adresi prvog dvocifrenog hex broja<br />

(bajta) koji se nalazi u toj “liniji” koda.<br />

Posto smo naucili kako da patchujemo (modifikujemo) program<br />

predjimo na samu modifikaciju. Program mozete editovati u Hiewu ali i u bilo<br />

kom drugom hex editoru. Posto je Hiew najbolji za pocetnike sva objasnjenja<br />

u prvom poglavlju bice vezana za njega. Dakle startujete Hiew u otvorite<br />

myCrack.exe pomocu njega. Prvobitan prikaz u Hiewu nam je nerazumljiv pa<br />

cemo ovaj prikaz pretvoriti u prikaz koji je istovetan prikazu iz W32Dasma.<br />

Ovo radimo pritiskom na F4 i selekcijom Decode moda. Sada vec vidimo ASM<br />

komande. Ako niste zapamtili pogledajte gornju sliku ponovo i prepisite<br />

adrese koje treba da NOPujemo, te adrese su: 004012DB, 004012E3 i<br />

004012E8 i 004012ED. Ako zelimo da odemo na te adrese u Hiewu treba da<br />

pritisnemo dugme F5 i ukucamo prvo tacku pa adresu na koju zelimo da<br />

odemo. Kada odemo na prvu adresu videcemo istu onu PUSH komandu iz<br />

W32Dasma. Posto smo naucili da treba da NOPujemo sve dvocifrene brojeve<br />

iz tog reda, zapamticemo dva zadnja bajta. Dakle zadnja dva bajta koja<br />

cemo NOPovati su 42 i 00. Sada pritisnite F3 da udjete u Edit mod i kucajte<br />

nove bajtove kojima zelite da zamenite stare, ti bajtovi su 90. Moracemo da<br />

unesemo 5x 90 da bismo NOPovali ceo red. Postavite kursor na sledecu<br />

adresu koju treba da NOPujete, to jest na sledecu PUSH komandu i sa njom<br />

uradite isto. Isti postupak ponovite i sa zadnjom PUSH komandom i sa<br />

CALLom. Kada zavrsite rezultat bi trebalo da izgleda kao na sledecoj slici:<br />

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

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

Saved successfully!

Ooh no, something went wrong!