34.x64汇编写法(一)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

本次游戏没法给

内容参考于:微尘网络安全

上一个内容:33.第二阶段x64游戏实战-InLineHook

首先打开 Visual Studio,然后创建新项目

然后创建一个控制台应用

然后选择一个保存代码的目录和项目名,然后点击创建

在x32的程序里,直接使用_asm就可以写汇编代码,但是在x64里不可以使用_asm了,如下图直接在x64里使用_asm编译会报错

x64正确的写汇编的方式,首选如下图右击项目,选择生成自定义

然后把下图红框的两个勾选上,然后点击确定

然后如下图右击选择新建项,注意这次右击的是源文件目录

如下图红框,创建一个.asm结尾的文件

然后点击完添加,x64的汇编代码要写只能写在.asm后缀的文件里

然后选择属性

然后选择下图红框的选项,一般默认就会使下图红框的选项,但有时候会不是

然后可以写汇编代码了,如下图是固定的格式,代码写在.code 和 end之间

创建一个叫main的函数,也是固定格式

注意下图的文件的内容,已经没有main函数了

然后重新生成

然后重新生成成功

简单的汇编代码

调用 getchar函数(是C语言标准库中的函数,用来接收一个键盘按下的按键)

复制代码
; 找一个叫 getchar的函数,extern固定写法,:far也是固定写法
; 如果没有 extern getchar:far 这一行在执行call getchar的时候会报错编译也会失败
extern getchar:far
.code
	main proc
		sub rsp,100h
		call getchar
		add rsp,100h
		ret
	main endp
end

效果图:被getchar函数卡主


相关推荐
liulilittle10 小时前
C++ i386/AMD64平台汇编指令对齐长度获取实现
c语言·开发语言·汇编·c++
工业互联网专业10 小时前
汇编与接口技术:8259中断实验
汇编·单片机·嵌入式硬件·8259中断实验
small_wh1te_coder1 天前
硬件嵌入式学习路线大总结(一):C语言与linux。内功心法——从入门到精通,彻底打通你的任督二脉!
linux·c语言·汇编·嵌入式硬件·算法·c
Ronin-Lotus13 天前
微处理器原理与应用篇---ARM常见汇编指令
汇编·arm开发·微处理原理与应用
永夜的黎明16 天前
【二进制安全作业】250616课上作业1-栈溢出漏洞利用
c语言·汇编·安全
Geometry Fu18 天前
物联网控制技术 知识点总结 第三章 汇编语言 第四章 C51语言
汇编·物联网·51单片机
半桔18 天前
【Linux手册】进程的状态:从创建到消亡的“生命百态”
linux·运维·服务器·汇编·深度学习·面试
一条叫做nemo的鱼21 天前
从汇编的角度揭开C++ this指针的神秘面纱(下)
java·汇编·c++·函数调用·参数传递
一条叫做nemo的鱼22 天前
从汇编的角度揭开C++ this指针的神秘面纱(上)
汇编·c++·算法·函数调用·this指针·参数传递
qwertyuiop_i24 天前
汇编(函数调用)
汇编·windows·函数调用