• ELF Format 笔记(三)—— Section Types


    ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287

    ELF 文件中会包含很多 section,所有的 section 都在 section header table 中有对应的一项,每个 section header 都是一个 Elf32_Shdr 结构,用于描述相应 section 的信息。Elf32_Shdr 结构中有一个 sh_type 成员,用于指明 section 的类型。

    SHT_NULL:无效的 section header,没有与之对应的 section,section header 中的其他成员也没有意义。

    SHT_PROGBITS:很多 section 都属于该类型,比如:.text、.data、.got、.plt、.rodata、.interp 等等。

    SHT_SYMTAB / SHT_DYNSYM:这两类 section 中存放符号表。SHT_DYNSYM 中含有动态链接的符号表。

    SHT_STRTAB:存放字符串表,通常一个 ELF 文件中含有不止一个字符串表。比如:.shstrtab 是专门用于存放 section name 的字符串表。

    SHT_RELA / SHT_REL:包含重定位表,通常该类型的 section 也不止一个,比如:.rel.plt、.rel.dyn。

    SHT_HASH:存放与符号表对应的哈希表,用于根据指定的符号名快速定位到符号表中相应的符号。

    SHT_DYNAMIC:包含动态连接信息,.dynamic 属于此类型。

    SHT_NOTE:包含一些注释信息。

    SHT_NOBITS:该 section 在文件中不占空间,典型的是 .bss。.bss 在内存中是存在的,存放那些未初始化的全局变量。

    SHT_SHLIB、SHT_LOPROC / SHT_HIPROC、SHT_LOUSER / SHT_HIUSER:基本用不到,不用关心。

    ilocker:关注 Android 安全(新手) QQ: 2597294287
  • 相关阅读:
    统计内存使用情况
    自动化测试---PO设计模式
    初识xshell
    pip插件遇到问题(fetch URL https)
    为什么大家都热衷于挖矿呢?
    80个python练习以及python一些值得收藏的教程或博客
    面试问到一个,让你写一下朋友圈点赞功能的测试用例!记录一下
    ajax异步请求302
    Java学习
    MVC 带扩展名的路由无法访问
  • 原文地址:https://www.cnblogs.com/ilocker/p/4589861.html
Copyright © 2020-2023  润新知