上个礼拜看win32汇编看的很晕,主要水平不够,今天抽空总结了一下
.*p/.* 特权
flat 平坦的内存,4G
stdcall
casemap:none 表示区别大小写
.data .data?(在pe中只有描述信息) .stack(flat常常忽略)(其中代码可以执行!)
.code
';'表示注释
'/'表示换行符,有区别于Makefile,/后可以有空格或注释
api
kernel32.dll--系统服务功能,内存管理、任务管理、动态链接等
gdi32.dll--图形设备接口
user32.dll--用户接口,建立窗口、传送消息
invoke 函数名[,参数1][,参数2].....
类似于[push 1,push 2,.....,call funcation]
API的返回值放在eax中,如果返回值多余一个eax中是一个指针(内存或缓冲区地址)
调用api之前要声明
函数名 proto [距离] [语言] [参数1]:数据类型 [参数2]:数据类型
默认为.model
默认为.model
参数的名称对于编译器来说无用,可省
win32下,to strings 1.ANSII(A) 2.Unicode(W)
MessageBox