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

  • 相关阅读:
    技术晨读_20160611
    浏览器退出之后php还会继续执行么?
    大话keepalive
    也说说TIME_WAIT状态
    PHP的错误机制总结
    ASP.NET MVC中使用Unity Ioc Container
    Unity依赖注入使用详解
    小菜学习设计模式(五)—控制反转(Ioc)
    程序员的人性思考(续)
    Delegate、Predicate、Action和Func
  • 原文地址:https://www.cnblogs.com/trevain/p/14496203.html
Copyright © 2011-2022 走看看