当前位置: 首页 > ops >正文

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函数卡主


img

http://www.xdnf.cn/news/10167.html

相关文章:

  • stm32——I2C协议
  • 第三方软件评测机构如何助力软件品质提升及企业发展?
  • 微信小程序真机调试时如何实现与本地开发环境服务器交互
  • 27 C 语言编程核心:main 主函数(基本形式、返回值、参数、命令行传参)、多文件编程实践
  • 设计模式——面向对象设计六大原则
  • JavaScript 在 AcroForm 中的广泛应用
  • 设计模式——抽象工厂设计模式(创建型)
  • 【大模型部署】mac m1本地部署 ChatGLM3-6B 超详细教程
  • linux进程用户态内存泄露问题从进程角度跟踪举例
  • LG P5048 [Ynoi2019 模拟赛] Yuno loves sqrt technology III Solution
  • spring boot项目中的一些常用提示信息
  • 工业物联网中的事件驱动采样架构及优化
  • MySQL项目实战演练:搭建用户管理系统的完整数据库结构【MySQL系列】
  • 机器视觉2D定位引导一般步骤
  • 视频监控联网系统GB28181协议中事件通知流程详解以及通知失败常见原因
  • 目前主流图像分类模型的详细对比分析
  • 前端-不对用户显示
  • 小明的Java面试奇遇之互联网保险系统架构与性能优化
  • 鲲鹏Arm+麒麟V10 K8s 离线部署教程
  • C++ 栈(Stack)与队列(Queue)深度解析:从原理到实战
  • Python字符串格式化(三): t-string前瞻(Python 3.14 新特性)
  • 使用yocto搭建qemuarm64环境
  • C#获取磁盘容量:代码实现与应用场景解析
  • python训练 60天挑战-day41
  • day23-计算机网络-1
  • Java工厂方法模式详解
  • VR/AR 显示瓶颈将破!铁电液晶技术迎来关键突破
  • PostgreSQL性能监控双雄:深入解析pg_stat_statements与pg_statsinfo
  • 嵌入式RTC工作原理及应用场景
  • 【代码坏味道】变更阻碍者Change Preventers