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.

PUBLIC __real@4147ffff80000000<br />

PUBLIC __real@4150017ec0000000<br />

PUBLIC _f<br />

EXTRN __fltused:DWORD<br />

CONST SEGMENT<br />

__real@3e45798ee2308c3a DQ 03e45798ee2308c3ar ; 1e-008<br />

__real@4147ffff80000000 DQ 04147ffff80000000r ; 3.14573e+006<br />

__real@4150017ec0000000 DQ 04150017ec0000000r ; 4.19584e+006<br />

CONST ENDS<br />

_TEXT SEGMENT<br />

_v1$ = -16 ; size = 8<br />

_v2$ = -8 ; size = 8<br />

_f PROC<br />

sub esp, 16 ; 00000010H<br />

fld QWORD PTR __real@4150017ec0000000<br />

fstp QWORD PTR _v1$[esp+16]<br />

fld QWORD PTR __real@4147ffff80000000<br />

fstp QWORD PTR _v2$[esp+16]<br />

fld QWORD PTR _v1$[esp+16]<br />

fld QWORD PTR _v1$[esp+16]<br />

fdiv QWORD PTR _v2$[esp+16]<br />

fmul QWORD PTR _v2$[esp+16]<br />

fsubp ST(1), ST(0)<br />

fcomp QWORD PTR __real@3e45798ee2308c3a<br />

fnstsw ax<br />

test ah, 65 ; 00000041H<br />

jne SHORT $LN1@f<br />

or DWORD PTR __v, 1<br />

$LN1@f:<br />

add esp, 16 ; 00000010H<br />

ret 0<br />

_f ENDP<br />

_TEXT ENDS<br />

4.1.6 Task 1.6<br />

Compiled in MSVC 2010 with /Ox option.<br />

PUBLIC _f<br />

; Function compile flags: /Ogtpy<br />

_TEXT SEGMENT<br />

_k0$ = -12 ; size = 4<br />

_k3$ = -8 ; size = 4<br />

_k2$ = -4 ; size = 4<br />

_v$ = 8 ; size = 4<br />

_k1$ = 12 ; size = 4<br />

_k$ = 12 ; size = 4<br />

_f PROC<br />

sub esp, 12 ; 0000000cH<br />

mov ecx, DWORD PTR _v$[esp+8]<br />

mov eax, DWORD PTR [ecx]<br />

mov ecx, DWORD PTR [ecx+4]<br />

push ebx<br />

push esi<br />

132

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

Saved successfully!

Ooh no, something went wrong!