编程语言
首页 > 编程语言> > 在Visual Studio中开发汇编程序

在Visual Studio中开发汇编程序

作者:互联网

创建一个控制台 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