首页 > TAG信息列表 > 节头
ELF格式
节(section)和段(segment)是不同的:段是程序执行的必要组成部分,在每个段中会有代码或者数据被划分为不同的节。节头表是对这些节的位置和大小的描述,主要用于链接和调试。没有节头表并不影响程序的正常执行,因为节头表没有对程序的内存布局进行描述,对程序内存描述是程序头表的任务。每个ELF文件格式第三讲,节头(section header)
目录ELF文件格式第三讲,节头(section header)一丶节头1.1 概念简介1.2 节头和节1.3 节头 结构1.4特殊节区 ELF文件格式第三讲,节头(section header) 一丶节头 1.1 概念简介 段(segment) 和 节(section)是有区别的。 节不是段。 段是程序执行的必要组成部分。 在每个段中会有代码或者ELF 资料记录
ELF 资料记录 文章目录 ELF 资料记录节头字符串表字符串表 节头字符串表 名称:.shstrtab 保存节名称的字符串 字符串表 名称:.strtab 保存的是全局变量和函数名的字符串 而常量字符串是保存在 .rodata 节里面的第一个节头在0x1574~0x159B,共0x28个字节;
第一个节头在0x1574~0x159B,共0x28个字节; 0x1574~0x1577是sh_name,4个字节,sh_name = 0x00 00 00 00,表示节名称是在字符串表索引值为0x00的字符串,该字符串为空; 0x1578~0x157B是sh_type,4个字节,sh_type = 0x00 00 00 00,表示该节是一个无效的节头,没有对应的节;该节中其他成员也无从程序头表和节头表中分别解析出各个段和节的位置和大小等信息
ELF文件分为文件头和文件体两部分;先用ELF header从文件全局概要出程序中程序头表、节头表的位置和大小等信息;然后从程序头表和节头表中分别解析出各个段和节的位置和大小等信息; 可执行文件和待重定位文件,文件最开头的部分是ELF header;程序头表对于可执行文件是必须的,而对于待