Selasa, 25 Agustus 2015

Reverse Engineering: Tipe Variabel

...


somefile.h

int var;
 
extern.c

#include "somefile.h"
extern int var;
int main(void)
{
 var = 10;
 printf("%d", var);
 return 0;
}

// Result: 10



tipeVariabel.asm

; => ASM
; Attributes: bp-based frame

; int __cdecl main(int argc, const char **argv, const char **envp)
public main
main proc near
push    rbp
mov     rbp, rsp
mov     cs:var, 0Ah
mov     eax, cs:var
mov     esi, eax
mov     edi, offset format ; "%d"
mov     eax, 0
call    _printf
mov     eax, 0
pop     rbp
retn
main endp

; => ASM 2 C
; int main{
public main
main proc near
push    rbp
mov     rbp, rsp
mov     cs:var, 0Ah ; 10 ; extern var

; printf("%d", var)
mov     eax, cs:var ; extern var
mov     esi, eax
mov     edi, offset format ; "%d"
mov     eax, 0
call    _printf

; return 0
mov     eax, 0 ; ?
pop     rbp
retn
main endp

Tidak ada komentar:

Posting Komentar