在Visual Studio中开发汇编程序

创建一个控制台 在Visual Studio中开发汇编程序 清除默认文件 在Visual Studio中开发汇编程序 选择项目属性 设置入口函数 在Visual Studio中开发汇编程序 设置生成依赖项 在Visual Studio中开发汇编程序 选择 在Visual Studio中开发汇编程序 在添加源文件 .asm 在Visual Studio中开发汇编程序  
.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 在Visual Studio中开发汇编程序在Visual Studio中开发汇编程序在Visual Studio中开发汇编程序 解读一下上面代码的意思  
.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

 

 
上一篇:第13部分- Linux ARM汇编 移位操作


下一篇:超值分享:ASN.1格式解析源码(未使用openssl),有助于分析证书、私钥等文件