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.

Posto smo naucili sve osnovne matematicke komande provezbacemo ih na<br />

jednom primeru. Na primer napisacemo jedan ASM program koji ce sabrati<br />

dva broja, pomnoziti njihov zbir sa 4, dodati vrednost jedan na proizvod, od<br />

proizvoda oduzeti 6, podeliti oduzetu vrednost sa 3 i na kraju oduzeti jedan<br />

od rezultata.<br />

Resenje:<br />

MOV EAX,4<br />

MOV ECX,3<br />

ADD EAX,ECX<br />

IMUL EAX,4<br />

INC EAX<br />

SUB EAX,6<br />

MOV EDX,0<br />

MOV ECX,3<br />

DIV ECX<br />

DEC EAX<br />

Mislim da je svima jasno sta se ovde desava, ali ako nije evo matematickog<br />

resenja problema:<br />

EAX = 4<br />

ECX = 3<br />

EAX = EAX + ECX<br />

EAX = EAX * 4<br />

EAX = EAX + 1<br />

EAX = EAX - 6<br />

EDX = 0<br />

ECX = 3<br />

EAX = EAX / ECX<br />

EAX = EAX - 1<br />

Razumevanje osnovnih matematickih operacija je kljucno kod resavanja<br />

osnovnih reverserskih problema. Posto smo uradili sve osnovne matematicke<br />

komande vreme je da uradimo logicke ASM komande. Ne plasite se ovim<br />

nazivom, jer logicke komande predstavljaju samo matematicke operacije sa<br />

logickim operatorima kao sto su NOT,AND,OR i slicni. Ovo je isto kao kada se<br />

u matematici koriste konjukcije, disjunkcije i slicni operatori. Rezultati ovih<br />

matematickih operacija su ili TRUE ili FALSE.<br />

AND - je osnovna logicka komanda u ASMu. Koristi se kao logicki<br />

operator izmedju dva registra. Ona u ASM izgleda ovako:<br />

AND EAX,ECX<br />

Posle izvrsavanja ove komande EAX dobija vrednost koja korespondira<br />

matematickoj operaciji izmedju dva registra. Da biste detaljno razumeli sta<br />

radi ova logicka komanda napravicemo malu tabelu sa dva binarna broja i<br />

prikazacemo kako bi se racunao rezultat koji cemo dobiti primenom komande<br />

AND. Recimo da logicki pokusavamo da saberemo 3 i 5.<br />

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

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

Saved successfully!

Ooh no, something went wrong!