zoukankan      html  css  js  c++  java
  • 1.汇编语言--基本概念和环境配置

    汇编语言用到的地方

    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

  • 相关阅读:
    mysql设置用户密码规则
    jsonp格式前端发送和后台接受写法
    MySql数据库中正则表达式
    linux中服务(service)管理
    第50课 C++对象模型分析(上)
    第49课 多态的概念和意义
    第42课
    第41课
    深入理解MyBatis中的一级缓存与二级缓存
    hibernate一级缓存和二级缓存的区别
  • 原文地址:https://www.cnblogs.com/trevain/p/14496203.html
Copyright © 2011-2022 走看看