;http://www.xakep.ru/post/21399/default.asp
IMAGE_BASE EQU 800000h

  db "MZ..PE"
  dd 14C0000h

MBOX:
  dw 1
  db "MessageBoxA",0
  dw First_Object - Optional_NT
  dw 10Fh

Optional_NT:
  dw 10Bh

  use32
EntryPoint:
  xor ebp,ebp
  push ebp
  mov ebx,IMAGE_BASE
  push ebx
  push ebx
  push ebp
  jmp short .1
  db 0
  dd EntryPoint
.1:
  call dword [ADDRESS_MBOX+IMAGE_BASE]
  retn
  db 0

  dd IMAGE_BASE
  dd 4
  dd 4

user32_dll:
  db "user32",0,0
  dd 4
  dd 0
  dd The_End
  dd _Section

First_Object:
  dd 0
  dw 2
  dw 0
  dd The_End - _Section
  dd _Section
  dd The_End - _Section
  dd _Section
  dd 0
  dd 2
  dd 0
  dd 60300020h
  dd _Import

_Section:

_Import:
  dd 0

user32:

ADDRESS_MBOX:
  dd MBOX
  dd 0
  dd user32_dll
  db user32

The_End:
