汇编语言用到的地方
1.纯汇编语言开发:追求效率的程序开发,不过目前比较少了
2.高级语言内联汇编:嵌套在高级语言当中,有些高级语言实现不了的或者突然要最求速度的
3.Windows内核编程,调试内核
4.逆向分析
汇编语言与机器语言是一一对应的
call = E9
jmp =E8
nop = 90
学习目标:
x86汇编语言:也是32位汇编语言
x64位
伪指令
高级数据表示
win32汇编入门
内联汇编
环境配置
我这里用vs2015,其他版本也可以。
1.新建项目
2.点击空项目,然后点击完成
3.右击项目名,点击属性
4.在入口点处输入main
5.项目名字右击--生产依赖项-自定义--勾上masm
6.可以添加源文件了 .asm 后缀
7. 添加一个让代码有颜色的插件 工具--扩展和更新
8.输入测试代码
.586 .MODEL flat, stdcall includelib user32.lib includelib kernel32.lib ExitProcess PROTO, dwExitCode : DWORD MessageBoxA PROTO hwnd : DWORD, lpText : BYTE, lpCaption : BYTE, uType :DWORD .data Number DWORD 0 text db "shellcode",0 .code main proc mov eax,5 mov ebx,6 add eax,ebx add eax,Number push 0 push offset text push offset text push 0 call MessageBoxA add esp,16 call ExitProcess main ENDP END main