zoukankan      html  css  js  c++  java
  • ELF文件结构描述

    文件头

    查看文件头 $ readelf -h *.obj

    Elf32_Ehdr

    变量名 英文名 备注
    e_ident Magic ELF魔数
    Class 文件机器字节长度
    Data 数据存储方式
    Version 版本
    OS/ABI 运行平台
    ABI Version ABI版本
    e_type Type ELF文件类型(ELF重定位类型)
    e_machine Machine ELF文件的CPU平台属性(硬件平台)
    e_version Version ELF版本号(硬件平台版本)
    e_entry Entry point address 入口地址
    e_phoff Start of program headers 程序头入口
    e_shoff Start of section headers 段表在文件中的偏移
    e_word Flags ELF标志位
    e_ehsize Size of this header ELF文件头本身的大小
    e_phentsize Size of program headers 程序头长度
    e_phnum Number of program headers 程序头数量
    e_shentsize Size of section headers 段表描述符的大小
    e_shnum Number of section headers 段表描述符数量
    e_shstrndx Section header string table index 段表字符串表所载的段在段表中的下标

    段表

    查看段表结构 $ readelf -S *.obj

    段表的结构比较简单,它是一个以“Elf32_Shdr”结构体为元素的数组。数组元素的个数等于段的个数,每个结构体对应一个段。“Elf32_Shdr”又被称为段描述符。

    Elf32_Shdr

    变量名 英文名 备注
    sh_name Section name 段名
    sh_type Section type 段的类型
    sh_flags Section flag 段的标志位
    sh_addr Section Address 段虚拟地址
    sh_offset Section Offset 段偏移
    sh_size Section Size 段的长度
    sh_link和sh_info Section Link and Section Information 段链接信息
    sh_addralign Section Address Alignment 段地址对齐
    sh_entsize Section Entry Size 项的长度

    Name sh_type sh_flag sh_link sh_info
    .dynamic SHT_DYNAMIC SHF_ALLOC + SHF_WRITE 该段所使用的字符串表在段表中的下标 0
    .hash SHT_HASH SHF_ALLOC 该段所使用的符号表在段表中的下标 0
    SHT_REL 该段所使用的相应符号表在段表中的下标 该重定位表所作用的段在段表中的下标
    SHT_RELA
    .symtab SHT_STMTAB 同字符串表 操作系统相关的 操作系统相关的
    SHT_DYNSYM
    .bss SHT_NOBITS SHF_ALLOC + SHF_WRITE SHN_UNDEF 0
    .comment SHT_PROGBITS none
    .data SHF_ALLOC + SHF_WRITE
    .data1 SHF_ALLOC + SHF_WRITE
    .debug none
    .line none
    .rodata SHF_ALLOC
    .rodata1 SHF_ALLOC
    .text SHF_ALLOC + SHF_EXECINSTR
    .note SHT_NOTE none
    .shstrtab SHT_STRTAB none
    .strtab 如果该ELF文件中有可装载的段须要用到该字符串表,name该字符串表也将被装载到进程空间,则有SHF_ALLOC标志位

    重定位表

    字符串表

  • 相关阅读:
    微软BI 之SSAS 系列
    微软BI 之SSIS 系列
    微软BI 之SSAS 系列
    微软BI 之SSAS 系列
    微软BI 之SSIS 系列
    微软BI 之SSRS 系列
    微软BI 之SSAS 系列
    微软BI 之SSAS 系列
    微软BI 之SSAS 系列
    微软BI 之SSRS 系列
  • 原文地址:https://www.cnblogs.com/fr-ruiyang/p/10445800.html
Copyright © 2011-2022 走看看