zoukankan      html  css  js  c++  java
  • [原]elf可执行连接文件格式

    execuable and linking format
    头文件定义了可执行二进制文件格式.在这些文件是正常执行文件, 重定向目标文件, 内核文件, 和共享库.

    一个可执行文件使用elf格式,包括elf头, 接着是程序头表, 或者区域头表, 或者两者都有. elf头总是偏移为0. 程序头表和区域头表偏移定义在头中. 两个表描述了余下文件的特征.

    头文件描述了以上提到的头以c结构的形式, 同时包括了动态区域的结构, 重定向区域的结构, 和符号表.

    一下类型用于n位的机器:
    ElfN_Addr  无符号程序地址
    ElfN_Off 无符号文件偏移
    ElfN_Section  无符号区域索引
    ElfN_Versym  无符号版本符号信息
    ElfN_byte  无符号字符
    ElfN_Half  16无符号整数
    ElfN_Sword  32为有符号整数
    ElfN_Word   32为无符号整数
    ElfN_Sxword 64位有符号整数
    ElfN_Xword 64为无符号整数

    文件格式定义的所有的数据结构都接着natural大小, 和对齐指导对相关的类. 如果有必要, 数据结构包含显式的填充, 以满足4字节对齐, 强制结构的大小为4倍数.

    elf头描述被类型Elf32_Ehdr 和 Elf64_Ehdr
    #define EI_NIDENT 16
    typedef struct {
     unsigned char e_idnet[EI_NIDENT];
     uint16_t  e_type;
    uint16_t e_machine;
    uint32_t e_version;
    ElfN_addr  e_entry ;
    elfN_Off  e_phoff;
    ElfN_off  e_shoff;

    }


    作者:liyonghelpme 发表于2010/6/10 15:35:00 原文链接
    阅读:280 评论:0 查看评论
  • 相关阅读:
    基于XMPP协议的Android即时通信系
    codeforces 830 B Cards Sorting
    [SCOI2007]修车
    spoj GSS4
    hdu 3652 B-number
    【模版】多项式乘法 FFT
    hdu 3642 Get The Treasury
    hdu 1255 覆盖的面积
    hdu 4553 约会安排
    UVA-11992 Fast Matrix Operations
  • 原文地址:https://www.cnblogs.com/liyonghelpme/p/4273554.html
Copyright © 2011-2022 走看看