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.

asm<br />

{Pocetak ASM bloka}<br />

XOR ESI,ESI {Dodali smo ovu ASM komandu}<br />

MOV ESI,serial{U delphiju i unutar ASM bloka mozemo koristiti sve promenljive}<br />

MOV EBX,slovo{koje su definisane unutar procedure koju koristimo}<br />

XOR EBX,EBX<br />

MOV EBX,EDX<br />

IMUL EBX,EDX<br />

ADD ESI,EBX<br />

MOV EBX,EDX<br />

SAR EBX,1<br />

ADD ESI,EBX<br />

SUB ESI,EDX<br />

MOV serial,ESI {ESI registar brise po zavrsetku bloka pa ga moramo sacuvati u promenljivoj}<br />

end;<br />

{Kraj ASM bloka}<br />

Ono sto smo ovde dodali je brisanje ESIa i dodeljivanje vrednosti promenljive<br />

serial ESIju, a na kraju dodeljivanje vrednosti ESIja promenljivoj serial. Posto<br />

ovo treba da se ponavlja za svako slovo iz imena, to ce u Delphiju izgledati<br />

ovako:<br />

procedure TForm1.Button1Click(Sender: TObject);<br />

var<br />

slovo,i,serial:longint;<br />

ime:string;<br />

begin<br />

serial := 0;<br />

ime := Edit1.Text;<br />

for i := 1 to Length(ime) do begin<br />

slovo := Ord(ime[i]);<br />

asm<br />

XOR ESI,ESI<br />

MOV ESI,serial<br />

MOV EDX,slovo<br />

XOR EBX,EBX<br />

MOV EBX,EDX<br />

IMUL EBX,EDX<br />

ADD ESI,EBX<br />

MOV EBX,EDX<br />

SAR EBX,1<br />

ADD ESI,EBX<br />

SUB ESI,EDX<br />

MOV serial,ESI<br />

end;<br />

end;<br />

messagedlg(‘Vas serijski broj je: ‘ + IntToStr(serial) + ‘ !’, mtInformation,[mbOK],0);<br />

end;<br />

Ovo je jako jednostavan primer ali vam pokazuje kako mozete iskoristiti deo<br />

tudjeg koda da napravite u ovom slucaju keygenerator. U folderu<br />

…\Casovi\Cas6\keygen-source\ se vec nalazi ovaj gotov primer i source code za<br />

njega.<br />

NAPOMENA: Ovo poglavlje je zamisljeno da bude od velike koristi Delphi<br />

programerima koji se bave reversnim inzenjeringom i zeleli bi da reversuju<br />

neke algoritme bez njihovog rekodiranja u Delphi sintaksu, ostalima ovaj deo<br />

poglavlja nece biti od velike vaznosti pa ga mozete preskociti.<br />

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

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

Saved successfully!

Ooh no, something went wrong!