x64汇编第一讲,Vs系列配置x64环境与x86环境

您所在的位置:网站首页 怎么用vs写汇编 x64汇编第一讲,Vs系列配置x64环境与x86环境

x64汇编第一讲,Vs系列配置x64环境与x86环境

#x64汇编第一讲,Vs系列配置x64环境与x86环境| 来源: 网络整理| 查看: 265

目录x64汇编环境配置一丶x64环境配置1.1 VS系列编译器配置X64Asm开发环境.1.1新建一个项目.项目里面添加一个.asm后缀的文件.1.2 配置x86 /x64汇编环境1.3 设置asm属性.1.4 asm属性继续设置1.5设置程序入口点以及子系统1.6配置生成依赖项1.7 配置高亮插件二丶Vs配置X86汇编环境.2.1.设置编译环境为win322.2.设置附加依赖项.2.3.设置Asm文件属性.

x64汇编环境配置 一丶x64环境配置

现在windows系统都是64位了,那么对应的汇编也就是说已经升级到64位了. 一直没有时间写博客将64位汇编写出来.所以现在细心整理一下. 首先我们先配置好开发环境,然后我们才能进行开发.

1.1 VS系列编译器配置X64Asm开发环境. 1.1新建一个项目.项目里面添加一个.asm后缀的文件.

当然后缀.asm文件没有,所以我们随便添加一个文本文件.或者一个.cpp文件.在添加的时候将后缀名改为.asm即可.

1.2 配置x86 /x64汇编环境

我们要生成一个应用程序,可以进行选择是生成x86还是x64 现在汇编中也是一样的.直接进行配置.

当然你也可以自定义一个解决方案,是专门编译汇编的. 只需要你在 上方Debug哪里新建一个解决方案即可.这个自己研究不在累赘,如果嫌麻烦自己只用用x64的即可.

1.3 设置asm属性.

右键对.asm文件 点击属性,如下图表示 从项目中排除选择否, 然后项目类型改正自定义类型

1.4 asm属性继续设置

如果第三不应用之后则会出现如下显示界面

此时在自定义生成工具里面,点击常规. 里面会出现很多内容.我们只关心 命令行跟输出即可.

如下;

命令行: ml64 /Fo $(IntDir)%(fileName).obj /c %(fileName).asm

输出: $(IntDir)%(fileName).obj;%(Outputs)

1.5设置程序入口点以及子系统

如果单纯的编写x64汇编.那么你就需要设置了. 对解决方案右键点击属性.找到链接->子系统 设置子系统位console控制台

然后设置入口点.

你写的x64汇编入口是哪个你就指定那个即可.

x64汇编代码

.DATA ;定义数据段 IBinary DQ ? ;自定义了一个常量为IBinary .CODE ;定义代码段 Fun PROC ;定义函数 ret Fun ENDP Main PROC sub rsp,20h xor r9,r9 xor r8,r8 xor rdx,rdx xor rcx,rcx call Fun add rsp,20h ret Main ENDP END

最后编译执行即可.

x64dbg 下的内容

1.6配置生成依赖项

如果上方编译不成功,则设置一下生成依赖项.

1.7 配置高亮插件

当时配置高亮插件是在Vs2019上面,点击扩展更新. 搜索ASM会出现两个 一个是 AsmHighlighter,另个好想是 AsmHxxxx 两个安装那个都可以.

二丶Vs配置X86汇编环境. 2.1.设置编译环境为win32

首先我们要选择编译为win32程序.这个自己直接在配置管理器选择即可.

2.2.设置附加依赖项.

附加依赖项在x64可设置可不设置,我没有设置.

如下:

2.3.设置Asm文件属性.

右键对.asm文件 点击属性,如下图表示 从项目中排除选择否, 然后项目类型改正自定义类型

此时跟X64设置的不一样了,我们选择项目类型为 Microsoft Macro Assembler即可.

设置 use safe Excetion Handlers 设置为是即可.

此时就设置成功了.

x86汇编代码测试

INCLUDELIB kernel32.lib .MODEL flat,stdcall ;.code ExitProcess PROTO, ; exit program dwExitCode:DWORD ; return code .data .code Main PROC mov eax,10000h ; EAX = 10000h add eax,40000h ; EAX = 50000h sub eax,20000h ; EAX = 30000h push 0h call ExitProcess main ENDP END Main

直接拷贝到自己工程即可.直接编译即可.

此时你还需要 在解决方案属性里面的连接器里面 设置一下系统具体如下

解决方案 -> 连接器 -> 系统 -> 子系统 : 设置为 console (控制台) 解决方案 -> 连接器 -> 高级 -> 入口点 : 设置为你汇编代码的入口点. 如我的就是 Main

x32Dbg代码截图

作者:IBinary 出处:https://www.cnblogs.com/iBinary/

坚持两字,简单,轻便,但是真正的执行起来确实需要很长很长时间.当你把坚持两字当做你要走的路,那么你总会成功. 想学习,有问题请加群.群号:725864912(收费)群名称: 逆向学习小分队 群里有大量学习资源. 以及定期直播答疑.有一个良好的学习氛围. 涉及到外挂反外挂病毒 司法取证加解密 驱动过保护 VT 等技术,期待你的进入。

详情请点击链接查看置顶博客 https://www.cnblogs.com/iBinary/p/7572603.html

本文来自博客园,作者:iBinary,未经允许禁止转载 转载前可联系本人.对于爬虫人员来说如果发现保留起诉权力.https://www.cnblogs.com/iBinary/p/10849915.html

欢迎大家关注我的微信公众号.不定期的更新文章.更新技术. 关注公众号后请大家养成 不白嫖的习惯.欢迎大家赞赏. 也希望在看完公众号文章之后 不忘 点击 收藏 转发 以及点击在看功能. 微信公众号 QQ群: QQ群


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3