23.03.2013 Views

Quick introduction to reverse engineering for beginners

Quick introduction to reverse engineering for beginners

Quick introduction to reverse engineering for beginners

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

loc_804840C: ; DATA XREF: .rodata:08048560<br />

mov [esp+18h+var_18], offset aOne ; "one"<br />

call _puts<br />

jmp short locret_8048450<br />

loc_804841A: ; DATA XREF: .rodata:08048564<br />

mov [esp+18h+var_18], offset aTwo ; "two"<br />

call _puts<br />

jmp short locret_8048450<br />

loc_8048428: ; DATA XREF: .rodata:08048568<br />

mov [esp+18h+var_18], offset aThree ; "three"<br />

call _puts<br />

jmp short locret_8048450<br />

loc_8048436: ; DATA XREF: .rodata:0804856C<br />

mov [esp+18h+var_18], offset aFour ; "four"<br />

call _puts<br />

jmp short locret_8048450<br />

loc_8048444: ; CODE XREF: f+A<br />

mov [esp+18h+var_18], offset aSomethingUnkno ; "something unknown"<br />

call _puts<br />

locret_8048450: ; CODE XREF: f+26<br />

; f+34...<br />

leave<br />

retn<br />

f endp<br />

off_804855C dd offset loc_80483FE ; DATA XREF: f+12<br />

dd offset loc_804840C<br />

dd offset loc_804841A<br />

dd offset loc_8048428<br />

dd offset loc_8048436<br />

It is almost the same, except little nuance: argument arg_0 is multiplied by 4 with by shifting it <strong>to</strong> left<br />

by 2 bits (it is almost the same as multiplication by 4) 1.14.3. Then label address is taken from off_804855C<br />

array, address calculated and s<strong>to</strong>red in<strong>to</strong> EAX, then JMP EAX do actual jump.<br />

26

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

Saved successfully!

Ooh no, something went wrong!