(1) SHT_NULL代表该节为空 (2) SHT_PROGBITS类型的节中具体存的是什么东西,需要程序给出具体的解释(保存程序,代码,数据的节都是这种类型)。 (3) SHT_SYMTAB类型的节是一个符号表,里边保存了一系列例如“int a;“语句中的”a”这样的符号。 (4) SHT_STRTAB类型的节是一个字符串表,其中保存了一系列的字...
.symtab,类型SHT_SYMTAB,属性“““:存储一个符号表。如果文件具有包含符号表的可加载段,则该节的属性将包括 SHF_ALLOC 位;否则,该位将关闭; .text,类型SHT_PROGBITS,属性SHF_ALLOC|SHF_EXECINSTR:存储程序的代码指令; .dynstr,类型SHT_STRTAB,属性SHF_ALLOC:存储动态链接所需的字符串,最常见的是表示与符号表...
常见的段类型有SHT_PROGBITS,这种段包含机器指令或者常量数据,它就是一堆数据的集合,因此没有特定结构。 SHT_SYMTAB表示静态符号表,SHT_DYNSYM表示动态符号表,这些段有特定的数据结构,他们会被调试器或连接器读取。SHT_REL或SHT_RELA表示该段用于重定向,链接器需要深入读取这些段的信息。 sh_flag字段用于描述段的属...
.symtab节是一个ElfN_Sym的数组,保存了符号信息。节类型为SHT_SYMTAB。 .strtab节(字符串表) .strtab节保存的是符号字符串表,表中的内容会被.symtab的ElfN_Sym结构中的st_name引用。节类型为SHT_STRTAB。 .ctors节和.dtors节 .ctors(构造器)节和.dtors(析构器)节分别保存了指向构造函数和析构函数的函数指针...
// Print ELF Section Headers char *getSectionTypeString(Elf_Word sectionType) { switch (sectionType) { case SHT_NULL: return "NULL"; case SHT_PROGBITS: return "PROGBITS"; case SHT_SYMTAB: return "SYMTAB"; case SHT_STRTAB: return "STRTAB"; case SHT_RELA: return "RELA"; case SHT_HASH...
SimpleSection.o中有一个叫”.rel.text”的段,它的类型(sh_type)为”SHT_REL”,也就是说它是一个重定位表。链接器在处理目标文件时,需要对目标文件中的某些部位进行重定位,即代码段和数据中中那些绝对地址引用的位置。对于每个需要重定位的代码段或数据段,都会有一个相应的重定位表。比如”.rel.text”就是针...
SHT_LOUSER 0x80000000 SHT_HIUSER 0xffffffff SHT_NULL - 此值将节标头标记为不活动;它没有关联的部分。节标头的其他成员具有未定义的值。 SHT_PROGBITS - 该部分保存由程序定义的信息,其格式和含义仅由程序决定。 SHT_SYMTAB SHT_DYNSYM - These sections hold a symbol table. SHT_STRTAB - The section ...
SHT_SYMTAB 表示该段的内容为符号表 等等 sh_flags : 段的标志 比如:SHF_WRITE 该段在进程空间中可以写 SHF_ALLOC 表示需要在进程空间中分配信息,代码段 数据段等,注意:bss段也是这个标志,虽然是在文件中没有,但是会在进程中分配 空间 SHF_EXECINSTR 表示可执行 像代码段 ...
**节区类型决定节区的用途及数据格式,是理解程序结构的重要环节。**如SHT_PROGBITS承载着程序定义的信息,而SHT_SYMTAB包含符号表,用于链接编辑过程中的符号解析。5. 常用Section 5.1. 关键节区概述 在ELF(Executable and Linkable Format)文件中,有许多预定义的节区,它们各自拥有独特的名称、类型和属性。了解...
简称:SHT 代码语言:c 代码运行次数:0 运行 AI代码解释 SHT_NULL 本区头是一个无效的(非活动的)区头,它也没有对应的区.本区头中的其它成员的值也都是没有意义的。 SHT_PROGBITS 本区所含有的信息是由程序定义的,本区内容的格式和含义都由程序来决定。 SHT_SYMTAB 同DYNSYM SHT_DYNSYM 这两类区都含有符号...