
;Почему не работает MessageBoxA?


format pe gui 4.0
entry start

include "include\win32a.inc"
include "pe32.inc"


section ".data" readable writeable executable

mb db 6ah,?,6ah,?,6ah,?,6ah,?,0e8h,0bh,0edh,7fh,76h,0c3h

start:
	;int 3

	push PAGE_EXECUTE_READWRITE
	push MEM_COMMIT
	push 1
	push 0
	call [VirtualAlloc]

	mov esi,mb
	mov edi,eax
	mov ecx,0eh
	cld
	repz movsb
	call eax

exit:
	retn



section ".idata" import readable writeable

dd ?,?,?,rva kernel32n,rva kernel32t
dd ?,?,?,rva user32n,rva user32t
dd ?,?,?,?,?

kernel32n db "kernel32.dll",?

kernel32t:
ExitProcess dd rva _ExitProcess
GetLastError dd rva _GetLastError
VirtualAlloc dd rva _VirtualAlloc
dd ?

user32n db "user32.dll",?

user32t:
MessageBoxA dd rva _MessageBoxA
dd ?

_ExitProcess dw ?
db "ExitProcess",?
_MessageBoxA dw ?
db "MessageBoxA",?
_VirtualAlloc dw ?
db "VirtualAlloc",0