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.

Sa leve strane se nalazi kod iz loopa a sa desne se nalaze objasnjenja ASM<br />

komandi iz loopa. Mislim da je svima jasno sta se desava u ovom loopu.<br />

Izdvajaju se brojevi i slova. Brojevi se dodaju jedan na drugi kao string a<br />

slova se pretvaraju u ASCII vrednosti i sabiraju (add komanda). Pocetna<br />

vrednost na koju se dodaju ASCII vrednosti je jedan.<br />

Odmah posle ovog loopa na adresi 00407E31 pocinje novi segment<br />

koda. Mozete slobodno proci sa F8 kroz ovaj deo koda dok ne dodjete do<br />

adrese 00407F18. Izmedju 00407E31 i adrese 00407F18 se brojevi grupisu u<br />

parove. Znaci ako je uneti serijski broj 123456 onda ce postojati tri para<br />

brojeva i to su 12, 34, 56. Ako pogledamo ovaj deo koda odmah posle loopa:<br />

00407E39 |. 83F8 06<br />

00407E3C |. 0F85 1D010000<br />

CMP EAX,6<br />

JNZ BruteFor.00407F5F<br />

videcemo da se brojevna duzina (123456) poredi sa brojem 6. Ovo znaci da u<br />

samom serijskom broju mora postojati 6 cifara. Mozemo i da analiziramo<br />

posebno sta se sve to desava izmedju 00407E31 i 00407F18 ali nema<br />

potrebe jer je mnogo lakse shvatiti ovaj algoritam na ovom delu koda:<br />

00407F20 |. 8BC8<br />

00407F22 |. 8BC6<br />

00407F24 |. F7EB<br />

00407F26 |. F7E9<br />

00407F28 |. 99<br />

00407F29 |. F77D EC<br />

00407F2C |. 83FA 11<br />

00407F2F |. 75 17<br />

MOV ECX,EAX<br />

MOV EAX,ESI<br />

IMUL EBX<br />

IMUL ECX<br />

CDQ<br />

IDIV DWORD PTR SS:[EBP-14]<br />

CMP EDX,11<br />

JNZ SHORT BruteFor.00407F48<br />

Posle izvrsavanja komandi MOV ECX,EAX i MOV EAX,ESI videcemo sta se to<br />

nalazi u registrima EAX,ECX,ESI jer su nam ovi registri potrebni za IMUL<br />

komande ispod. Dakle posle izvrsavanja adrese 00407F22 imacemo u<br />

registrima sledece vrednosti:<br />

EAX 0000000C

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

Saved successfully!

Ooh no, something went wrong!