一个最简单的弹出消息框框代
码:.386.model flat,stdcalloption
casemap:noneinclude
windows.incinclude
user32.incinclude
kernel32.incinclude
gdi32.incincludelib
gdi32.libincludelib user32.libin ...
一个最简单的弹出消息框框代
码:.386
.model flat,stdcall
option casemap:noneinclude
windows.inc
include user32.inc
include kernel32.inc
include gdi32.inc
includelib gdi32.lib
includelib user32.lib
includelib kernel32.lib
include
macro.asm.data.data?.code
start:
invoke
MessageBox,NULL,CTXT(’luanx’)
,CTXT(’hello’),0
invoke ExitProcess,0
end start然后用MASMPlus编译
成EXE的,拿C32Asm反汇编瞧瞧,
如此短小,呵呵。注意入栈顺序是从
右到左,那反汇编的就反着来
看:::00401000:: 6A 00 PUSH 0
::00401002:: 68 05304000
PUSH 403005 ;将消息提示标题入栈
::00401007:: 68 00304000
PUSH 403000 ;将消息提示内容入栈
::0040100C:: 6A 00 PUSH 0
::0040100E:: E8 07000000
CALL 0040101A ;调用MessageBox
::00401013:: 6A 00 PUSH 0
::00401015:: E8 06000000
CALL 00401020 ;调用ExitProcess
::0040101A:: FF25 08204000
JMP ;跳到MessageBox
::00401020 :: FF25 00204000 JMP
;跳到ExitProcess




















