Java教程

在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

 

这篇关于在Visual Studio中开发汇编程序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!