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.
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