第一个win32汇编程序开发步骤

1.下载并安装MASM,下载nmake.exe工具,把namake.exe放到MASM安装目录的bin下。

2.编写一个用于设置环境变量的批处理文件var.bat(放到masm根目录即可) 文件的内容如下:

@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.每打开一个新的命令行控制台,就要执行一次var.bat(否则控制台会找不到masm,link,nmake等命令),省力的做法是把环境变量添加到用户变量,或系统变量中去。

4.用编辑器写一个.asm文件,在命令提示符下切换到相应目录,用MASM编译和链接一个Win32汇编源程序常用的命令是:

ml /c /coff xx.asm

link /subsystem:windows xx.obj yy.lib zz.res (普通PE文件)

link /subsystem:console xx.obj yy.lib zz.res (控制台文件)

link /subsystem:windows /dll /def:aa.def xx.obj yy.lib zz.res (DLL文件)

4.显然使用Link比较复杂,我们可以事先写好一个makefile,然后通过用nmake工具链接。

makefile写法如下:

EXE = Test.exe #指定输出文件
OBJS = Test.obj #需要的目标文件
RES = Test.res #需要的资源文件

LINK_FLAG = /subsystem:windows #连接选项
ML_FLAG = /c /coff #编译选项

$(EXE): $(OBJS) $(RES)
Link $(LINK_FLAG) $(OBJS) $(RES)

.asm.obj:
ml $(ML_FLAG) $<
.rc.res:
rc $<

clean:
del *.obj
del *.res

然后切换到相应文件目录下使用nmake就可以了。

5.总结起来步骤为:

自己写程序代码 -->修改makefile --> 命令提示符下运行var.bat --> masm编译 -->nmake

则.exe文件生成。

第一个win32汇编程序开发步骤

时间: 2024-10-10 00:21:56

第一个win32汇编程序开发步骤的相关文章

一个网站的开发步骤

github 经常有朋友说"我想做个网站".“网站上放个什么什么”."对你来说应该很容易,帮个忙吧"等等.怎么说呢,大部分非互联网行业的人是不了解网站的开发流程的,他们可能以为就是个简单的页面,顺手拈来,分分钟搞定的,其实不然. 今天就来简单聊一聊一个网站的开发步骤,尽量做到简单易懂,希望能让非相关行业的人也能弄懂. 准备服务器 服务器是运行网站程序的电脑. 公网IP 每台电脑都有一个ip地址. 例如运行网站程序后,用户可以在浏览器里输入:http://192.16

02-第一个iOS程序-开发步骤

打开Xcode 选择项目模板 Single View Application是最适合初学者的模板 设置项目属性 运行程序 不管怎样,先运行第一个iOS程序看看效果先(用快捷键Command + R 也行) 运行结果 Xcode会启动一个iOS模拟器来运行程序 程序的运行结果如右图所示,白白一片 后面我们得往这空白界面上增添各种各样的控件元素 窥探项目环境 项目创建完毕后,自动帮我们做了很多配置,也自动生成了很多文件 还自动添加了开发所依赖的框架: 如何搭建UI界面 项目中这么多文件,哪些是影响着

Win32 程序开发:创建一个应用程序窗口

一.创建一个应用程序窗口 代码如下: // 头文件 #include <windows.h> // 全局变量 WCHAR g_lpszClassName[] = L"CLASSNAME"; WCHAR g_lpszWindowName[] = L"哈喽,新的征程"; // 函数声明 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // 应用程序主函数 INT APIENTRY WinMain(H

ARM汇编基础(1)--ADS1.2安装与第一个ARM汇编程序

前言 最近的工作是与逆向相关, 用到ARM汇编, 以前在大学时学过x86汇编和ARM开发, 自我感觉当时学的还挺好, 很久没用也生疏了. 正好趁着这个机会也复习一下ARM汇编. 关于ARM的介绍和理论知识,此处就不再赘述. 进入正题: 安装ADS1.2 安装过程很简单, 没什么技术含量. 但是, win7可能会碰到卡在100%的问题, 网上有很多解决的办法, 但好像都不管用. 我用XP的虚拟机装的ADS1.2, 在XP系统上安装很顺利. 第一个ARM汇编程序 新建一个工程, 然后再按照一下步骤设

OD调试1--第一个win32程序

OD调试一:第一个Win32程序的修改 在软件开发的过程中,程序员会使用一些调试工具,以便高效地找出软件中存在的错误.而在逆向分析领域,分析者也会利用相关的调试工具来分析软件的行为并验证分析结果.由于操作系统都会提供完善的调试接口,所以利用各类调试工具可以非常方便灵活地观察和控制目标软件.在使用调试工具分析程序的过程中,程序会按调试者的意愿以指令为单位执行. 调试逆向分为动态分析技术和静态分析技术. 动态分析技术指的是使用调试工具加载程序并运行,随着程序运行,调试者可以随时中断目标的指令流程,以

JMS开发步骤和持久化/非持久化Topic消息

------------------------------------------------ 开发一个JMS的基本步骤如下: 1.创建一个JMS connection factory 2.通过connection factory来创建JMS connection 3.启动JMS connection 4.通过connection创建JMS session 5.创建JMS destination 6.创建JMS producer 或者创建JMS message,并设置destination 7

NDK---使用,开发步骤

使用NDk的场景: 1.某些方法,是使用C,C++本地代码实现的,然后,我想在Java中调用这些方法.这个时候,就需要使用到JNI技术. 为什么要使用C,C++代码实现呢? 原因是: 1.某些功能,需要使用到第三方的类库来实现,而第三方类库是用C或者C++写的,只有C或者C++代码才可以使用到该类库.于是, 就用C,C++代码实现.然后,实现后的方法,就供Java代码调用. 2.某些功能,使用C,C++代码来实现,速度和性能会高很多.比如,视频传输部分的代码.这个时候,将这部分功能,使用C,C+

利于Wininet创建一个FTP客户端的步骤

Wininet是Win32关于网络的API,MFC也有对于Wininet的封装,可以利用这组API实现FTP和HTTP通信. Wininet API的头文件:Wininet.下面是Wininet建立FTP客户端的一般步骤.第一步:初始话Wininet,实际上就是设置一些关于是否使用代理,访问方式等的参数.第二步:建立一个FTP链接.第三步:操作ftp服务器上的文件.第四步:关闭各种句柄. 作用 函数原型 说明 初始Wininet函数 HINTERNET InternetOpen( LPCTSTR

JNI开发步骤注意总结:

开发工具和环境搭建: 第一个工具: NDK (native develop kits) 交叉编译的工具链: 交叉编译: 在一个平台(处理器,操作系统)下 编译出来另外一个平台下可以运行的代码. windows AMD intel x86 架构-> 手机 android arm处理器 .c .java 1. 编译  把源代码(高级语言)编译成一个低级语言 (汇编语言) 2. 连接  根据具体平台的特性,(cpu的类型 x86 arm,操作系统的类型) 连接成一个可以执行的二进制可执行的程序. 第二