zoukankan      html  css  js  c++  java
  • 汇编快速入门1

    From Codes to Executables

    image

    编译

    gcc file.c-o exe_file –m32生成可执行文件

    objdump –d –M intel  file              //-d 反汇编

    image这两条必备

    image函数的返回结果放在eax中,相当于return 0;

    804841f:    68 c0 84 04 08           push   0x80484c0
    8048424:    e8 b7 fe ff ff           call   80482e0   <puts@plt>

    主要的是这两句话

    puts 就是printf

                    

    类型

    Byte

    short

    2

    int

    4

    long

    4

    char

    1

    image定义一个char类型的变量。

    gcc bin1.c -o bin1 –m32

    objdump -d -M intel ./bin1

    image核心就是这两行

    0x41 =‘A’

    EBP栈底 栈底-1字节,分配一个字节的空间。

    image一看到这句就代表x=0xb x=11 给程序中的一个变量赋值

    DWORD 双字,四个字节byte

    WORD 单字,两个字节

    image

    int a=11;int b=22;int c=33;


    浮点数在存储时涉及到整数部分和小数部分

    double a=1.234;

    image

    QWORD

    fld //f load

    fstp //

    一看就是 处理浮点数

    。。。丢进IDA

    双击main函数 这个db代表double

    image双击这个地址

    image进去 dq 1.234数据 。rodata 只读段

    全局变量放在BSS段或者data段

    局部变量放在堆栈中

    从数据段中取了一个数付给eax

    丢进IDA分析

  • 相关阅读:
    Kali-linux物理访问攻击
    Kali-linux使用NVIDIA计算机统一设备架构(CUDA)
    Kali-linux创建密码字典
    Kali-linux破解操作系统用户密码
    Kali-linux破解纯文本密码工具mimikatz
    Kali-linux绕过Utilman登录
    POJ
    LightOJ
    UVa
    Hdu
  • 原文地址:https://www.cnblogs.com/rookieDanny/p/8453891.html
Copyright © 2011-2022 走看看