ELF Format 笔记(十二)—— 段类型(segment types)
ilocker:关注 Android 安全(新手) QQ: 2597294287
- PT_NULL:如果段类型是 PT_NULL,那相应程序头结构体的其它成员都无意义,该程序头项可被忽略。
暂时还没遇到过 PT_NULL 类型的段,android linker 也没有针对 PT_NULL 类型的段做什么特殊处理。
- PT_LOAD:可加载段。段数据由文件映射到内存,如果 p_memsz 大于 p_filesz,则额外部分填充为 0。
- PT_DYNAMIC:动态段。包含动态链接所需的信息。
- PT_INTERP:本段包含一个路径字符串,该路径存放解释器。
android 5 linker 没有用到 PT_INTERP 段,android 6 linker 在初始化默认的库加载路径时,从 PT_INTERP 段读取了解释器的名字:
- PT_NOTE:注释段,包含一些辅助信息。
android linker 没有用到。
- PT_SHLIB:保留的段类型,暂不关心。
- PT_PHDR:程序头段。指明程序头表在文件和内存映像中的位置和大小。
如果存在此类型段,则对应的程序头项必须出现在所有可加载段项的前面。
- PT_LOPROC ~ PT_HIPROC:为特定处理器保留,暂不关心。
ilocker:关注 Android 安全(新手) QQ: 2597294287