主要学习win32的开发过程
1.安装masm32的sdk
2.做个批处理Var.bat文件,为了更好调试程序减少麻烦。放到
具体代码
@echo off
rem 请根据 Masm32 软件包的安装目录修改下面的 Masm32Dir 环境变量!
set Masm32Dir=D:\Masm32
set include=%Masm32Dir%\Include;%include%
set lib=%Masm32Dir%\lib;%lib%
set path=%Masm32Dir%\Bin;%Masm32Dir%;%PATH%
set Masm32Dir=
echo on
这代码主要是设置环境变量。
3.在D:\masm32新建有一个文件夹Code,在code下再新建一个文件夹test放代码。
D:\masm32\Code\Test
4.把下面这段代码放到D:\masm32\Code\test夹下,并后缀名为"xx.asm"保存
代码如下:
; Include 文件定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.model flat,stdcall
option casemap:none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.const
szCaption db '欢迎学习win32汇编', 0
szText db '第一个win32汇编程序',0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.code
start:
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
invoke ExitProcess,NULL
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
endstart
5.开始编译程序
开始----运行----cmd
输入命令 D:
继续命令:
cd masm32
Var.bat
cd Code\test
ml /c /coff xx.asm
Link /subsystem:windows xx.obj
链接成功就可以了,会在d\masm32\Code\test产生一个xx.exe程序
这个程序就是调用庫函数,调用文件简单个一个对话框.
Var.bat,主要作用避免去在头文件哪里写路径,如果没有,这需要写上.
顺道用od给逆向看一下,可以看到还原了
我只贴图片了