zoukankan      html  css  js  c++  java
  • 汇编

    概述

    • 学习汇编的意义
    1. 开发时调试
    2. 逆向时的代码阅读
    3. 某些特殊技术的使用(shellcode,壳)
    • 16/32/64汇编的区别



      栈的作用:
    1. 存储数据
    2. 保存寄存器环境
    3. 传递参数
    • lea eax,dword ptr ss:[esp-4] 将 ss:[esp-4] 传入eax(传址)

    • xchg eax,dword ptr ss:[esp-4] 将两操作数互相交换

    比较指令

    • cmp oprd1,oprd2 将两数相减进行比较

    • test oprd1,oprd2 仅影响标志位,进行and运行

    选择常用的jcc指令

    • jmp 无条件

    • JZ/JE ZF=1/等于0/相等跳转

    • JNZ/JNE ZF=0 /不等于0/不相等

    • JBE/JNA: CF=1/ZF=1 低于等于/不高于跳转

    • JNBE/JA : CF=0/ZF=0 不低于等于/高于跳转

    • JL/JNGE : SF ! =OF 小于/不大于等于跳转

    • JNL/JGE : SF=OF 不小于/大于等于跳转

    串操作指令

    • movs p1,p2 p2-->p1 p2为源串符号地址,p1为目的串符号地址

    • stos oprd

      • 功能:把AL(字节)或AX(字)中的数据存储到DI为目的串地址指针所寻址的存储器单元中去指针DI将根据DF的值进行自动调整.


    	.586
    	.MODEL flat,stdcall
    	.code
    
    	addf proc
    		add eax,ebx
    		ret
    	addf endp
    
    	main proc
    		mov eax,6
    		mov ebx,5
    		call addf
    		mov eax,eax
    	main ENDP
    	END main
    
        .586
        .MODEL flat,stdcall
        .code
    
        addf proc
            mov eax,[esp+4]
            mov ebx,[esp+8]
            add eax,ebx
            ret
        addf endp
    
        main proc
            push 5
            push 6
            call addf
            mov eax,eax
        main ENDP
        END main  
    

    API

    • ExitProcess PROTO, dwExitCode : DWORD

    • MessageBoxA PROTO hWnd : DWORD, IpText : BYTE, IpCaption: BYTE, uType:DWORD

    .586
    .MODEL flat,stdcall
    includelib user32.lib
    includelib kernel32.lib
    
    ExitProcess PROTO, dwExitCode : DWORD
    MessageBoxA PROTO hWnd : DWORD, IpText : BYTE, IpCaption: BYTE, uType:DWORD
    
    .data
    string db "helloworld",0
    
    .code
    
    main proc
    	push 0
    	lea eax,string
    	push eax
    	push eax
    	push 0
    	call MessageBoxA
    	add esp,16
    	call ExitProcess
    main ENDP
    END main
    
  • 相关阅读:
    ORACLE-游标数
    Hibernate-原生SQL查询
    超链接无效
    首页统计脚本
    About_datebase
    PHP的学习--cookie和session--来自copy_02
    终于懂浏览器里面的cookies和session了
    About-PHP-02
    php链接数据库
    PHP 操作MySQL———来自copy
  • 原文地址:https://www.cnblogs.com/l0nmar/p/12813505.html
Copyright © 2011-2022 走看看