ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

在Visual Studio中开发汇编程序

2021-07-04 20:03:30  阅读:245  来源: 互联网

标签:ExitProcess text 汇编程序 Visual Studio push DWORD main MessageBoxA


创建一个控制台 0 清除默认文件 0 选择项目属性 设置入口函数 0 设置生成依赖项 0 选择 0 在添加源文件 .asm 0  
.586
.MODEL flat, stdcall
includelib user32.lib
includelib kernel32.lib
ExitProcess PROTO, dwExitCode:DWORD
MessageBoxA PROTO hwnd : DWORD,lptxt: BYTE, lpCaption:BYTE,uType:DWORD
.data
Number DWORD 0
text db "shellcode",0
.code
main proc
        push 0
        push offset text
        push offset text
        push 0
        call MessageBoxA
        add esp,16
        call ExitProcess
main ENDP
END main
没有关键字变色 可以装一个扩展asmdude 0 0 0 解读一下上面代码的意思  
.586
;指令集 .386-.686 都可以看你需要哪个指令集
.MODEL flat, stdcall
;模式选择 flat   代表win32程序 执行stdcall 调用约定
includelib user32.lib
includelib kernel32.lib
;导入程序包 用户程序 和系统核心 都是32位
ExitProcess PROTO, dwExitCode:DWORD
MessageBoxA PROTO hwnd : DWORD,lptxt: BYTE, lpCaption:BYTE,uType:DWORD
; 导出windows sdk 函数api   可以直接看 sdk 有那些函数 有几个参数 定义函数声明 后面调用
.data
Number DWORD 0
text db "shellcode",0
;数据段
.code
;代码段 入口  main 函数要在项目里面设置入口位置
main proc
        ;MessageBoxA 打印字符 A代表 ascii 输出   函数需要4个参数 push4个进去
        push 0
        push offset text
        push offset text
        push 0
        call MessageBoxA
        add esp,16;堆栈平衡
        ;结束进程
        call ExitProcess
main ENDP
END main

 

 

标签:ExitProcess,text,汇编程序,Visual,Studio,push,DWORD,main,MessageBoxA
来源: https://www.cnblogs.com/feizianquan/p/14969715.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有