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

  • 相关阅读:
    Linux GNOME桌面使用技巧大全
    联想旭日 C465A 开机白屏
    基础知识:编程的工作机制
    JavaCC 学习笔记
    笨办法学R编程(1)
    一些学习方法总结
    使用变量表示字、数字和值
    栈溢出2017doubly_dangerous
    栈溢出warmup_csaw_2016
    基础学习ret2text
  • 原文地址:https://www.cnblogs.com/trevain/p/14496203.html
Copyright © 2011-2022 走看看