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
.codemain procsub rsp,100hcall getcharadd rsp,100hretmain endp
end
效果图:被getchar函数卡主