之前的一篇文章是关于elf文件头的,而这篇文章的内容是针对节区和节区头部表(section header table)的.
什么是节区?
节区保存着用于不同目的的数据,从链接角度看,包括指令、数据、符号表和重定位信息等等。这些数据可能被其他部分所使用.因为不同节中数据的用途不同,节也被分成不同的类型。每个类型的节区都有自己组织数据方式,说白了就是数据结构不一样.另外每一个节区在节区头部表中都有一个条目用来描述节的一些属性信息,具体信息后面会提到
什么是节区头部表?
包含了描述节区的信息,每个节区在这个表中都有一个条目,该条目给出了节区的名字,大小等等信息,可重定位目标文件必须有一个节区头部表,可执行目标文件这部分可选
下面是节区头部表中条目的数据结构:
elf32_Shdr:
什么是节区?
节区保存着用于不同目的的数据,从链接角度看,包括指令、数据、符号表和重定位信息等等。这些数据可能被其他部分所使用.因为不同节中数据的用途不同,节也被分成不同的类型。每个类型的节区都有自己组织数据方式,说白了就是数据结构不一样.另外每一个节区在节区头部表中都有一个条目用来描述节的一些属性信息,具体信息后面会提到
什么是节区头部表?
包含了描述节区的信息,每个节区在这个表中都有一个条目,该条目给出了节区的名字,大小等等信息,可重定位目标文件必须有一个节区头部表,可执行目标文件这部分可选
下面是节区头部表中条目的数据结构:
elf32_Shdr: