第一个windows下的汇编程序

时间:2022-02-20 12:52:59

         这两天发现了一个很牛X的软件安全论坛“看雪论坛”,里面好多软件安全方面的大牛,懂得了好多windows下拦截系统API调用的方法都是通过汇编语言实现的,于是想了解下windows下编写汇编的方法:

         汇编程序的生成和c写的程序一样,需要编辑源代码,编译和链接三个步骤。

         首先在网上偷了一个最简单的程序,用editplus保存成".asm"结尾的文件,代码如下:

       

.386
.model flat, stdcall
option casemap:none
;###################
include windows.inc
include user32.inc
include kernel32.inc
include gdi32.inc
include masm32.inc

includelib user32.lib
includelib kernel32.lib
includelib gid32.lib
includelib masm32.lib
;#####################
.data?
szbuffer db 100 dup(?)
.data
szcaptionName db "Hello world",0
szbegin db "time:"
sztext db 100 dup(?)
;####################
.code
start:
;main
invoke MessageBox,NULL,offset szbegin,offset szcaptionName,MB_ICONQUESTION or MB_OK
invoke ExitProcess,eax
end start

 

 

         编辑完源代码进行编译生成.obj的目标文件,需要添加ml.exe的环境变量:  第一个windows下的汇编程序

         链接.obj文件生成可执行文件.exe,需要用到链接工具link

         第一个windows下的汇编程序

         最后完工,成功编译出一个exe文件。运行的结果是弹出一个window的提示对话框。

         第一个windows下的汇编程序