blackhook 发表于 2020-5-10 21:46

对于“ELF文件中可能包含多个字符串节区”如何理解?



ELF文件格式解析(完)https://www.52pojie.cn/thread-591986-1-1.html

sh_type 节区类型
名称取值说明
SHT_NULL0此值标志节区头部是非活动的,没有对应的节区。此节区头部中的其他成员取值无意义。
SHT_PROGBITS1此节区包含程序定义的信息,其格式和含义都由程序来解释。
SHT_SYMTAB2此节区包含一个符号表。目前目标文件对每种类型的节区都只能包含一个,不过这个限制将来可能发生变化。一般,SHT_SYMTAB 节区提供用于链接编辑(指 ld 而言)的符号,尽管也可用来实现动态链接。
SHT_STRTAB3此节区包含字符串表。目标文件可能包含多个字符串表节区。
SHT_RELA4此节区包含重定位表项,其中可能会有补齐内容(addend),例如 32 位目标文件中的 Elf32_Rela 类型。目标文件可能拥有多个重定位节区。




如题,ELF文件 可能包含多个字符串表节区如何理解?
对于引用的地方只是给出了在字符串表内的索引,以得到具体字符串;如果有多个字符串表,如何知道某个索引值是针对哪个字符串表的呢?


希望大佬们科普下,谢谢!

blackhook 发表于 2020-5-11 13:50

节区头部表中的sh_link可以表示本节区用到的字符串表位于节区头部数组中的索引,这样就确定了具体是哪个字符串表了
页: [1]
查看完整版本: 对于“ELF文件中可能包含多个字符串节区”如何理解?