2026年10月31日 · 今日 0 帖 · 会员 6.1万 · 主题 17.4万
登录 · 注册 · 游客,欢迎随便逛逛
返回版块
91830
Lv3畅意三江水等级图标
勋章
帖子
33
回复
455
积分
8,382
注册
2012-01-16
[计算机网络]

【教程】汇编就是精简

[复制链接]
查看 424 回复 0
楼主 发表于 | 查看全部
3 人收藏

一个最简单的弹出消息框框代

码:.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

登录回复

登录后可以回复这个帖子。旧账号可使用原密码登录。

登录 注册新号
← 返回版块