汇编环境搭建

对于一直想要学习汇编语言的我来说, 总是找不到一个理想的环境

上次软件安全课学会了使用MASM, 当时觉得这个工具挺好用的。 但是当我在win10上安装好, 并且配置好环境变量之后就不能用了。

当然在xp的虚拟机种还是能用的。

于是, 找到了一种在vs中搭建汇编环境的方法

在工具->导入和导出设置中, 导入VC++的环境, 就完成了!


是不是很简单

然后我们就可以开始调试了

代码高亮是参考了这个的

教程

不得不说老外的教程就是良心

想要汇编软件安全课上的示例代码的时候出错了

显然是头文件的锅

所以直接拷贝过去

然后我就成功了

源代码分析

.386
.model flat, stdcall
option casemap : none
; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include     windows.inc
include     user32.inc
includelib  user32.lib
include     kernel32.inc
includelib  kernel32.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
.model flat, stdcall
option casemap : none; case sensetive
include windows.inc
include kernel32.inc
include user32.inc
includelib kernel32.lib
includelib user32.lib
.code
start :
push 1040h
call szCap
db  "病毒重定位", 0
szCap :
    call szMsgOk
    db "姓名:xxxx,学号:flag{*********}", 0
    szMsgOk :
    push 0
    call MessageBox
    invoke ExitProcess, NULL
    end start

于是我可以开始愉快的学习汇编啦

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容