鱼c win32汇编 第三章 代码结构

;模式定义
.386
.model  flat ,stdcall
Option casemap:none

;include 头文件定义
Include     windows.inc
Include     user32.inc
Includelib   user32.lib
Include     kerne132.inc
Includelib   kerne132.lib

;数据段定义
.data
szcaption   db  ‘A Messagebox!’,0
sztext      db  ‘hello,  world!’ , 0

;代码段定义
.code
Start:
     invoke messagebox ,null ,offset  sztext,\ offset szCaption,MB_OK
     invoke ExitProcess,null

end start 

上面用来复制运行用
下面用来解释代码作用

.386 ;指定使用的指令集 .386汇编语言的伪指令,其他还有很多*86和*86p
.386p这种写驱动用
.model flat ,stdcall ;工作模式 内存模式,语言模式,其他模式 语言模式就是子程序的调用方式

Option casemap:none ;区分API名称大小写,

;include 头文件定义
Include windows.inc
Include user32.inc
Includelib user32.lib
Include kerne132.inc
Includelib kerne132.lib

;数据段定义 更多
.data ;初始化过的变量定义
szcaption db ‘A Messagebox!’,0
sztext db ‘hello, world!’ , 0

. data? ;没有初始化过的变量定义
.const ;常量定义,可读不可写
;堆栈段没有,堆栈段里的内容是可执行读写,靠动态修改代码的反跟踪模块可以拷贝到堆栈中去边修改边执行。
黑客工具用到的缓冲区溢出技术也用到了这个特征。

;代码段定义
.code
Start:
invoke messagebox ,\
null ,\ ;父窗口句柄
offset sztext,\ ;消息框内容
offset szCaption,\ ;标题
MB_OK
invoke ExitProcess,null

end start
注释与换行
;这个符号是注释
‘hello ;world’这样用就不是注释,因为是文本输入
\这个符号用来换行用法上面有了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值