e_entry:如果这个 ELF 文件是一个可执行文件或共享对象,这个字段指定了程序的入口点地址,即程序开始执行的虚拟地址。 e_phoff:如果存在程序头表,这个字段指定了程序头表在文件中的偏移量。 e_shoff:如果存在节头表,这个字段指定了节头表在文件中的偏移量。 e_flags:用于指定与处理器相关的特定标志,这些标志可能...
#define EI_NIDENT 16 typedef struct elf32_hdr{ unsigned char e_ident[EI_NIDENT]; Elf32_Half e_type; Elf32_Half e_machine; Elf32_Word e_version; Elf32_Addr e_entry; /* Entry point */ Elf32_Off e_phoff; Elf32_Off e_shoff; Elf32_Word e_flags; Elf32_Half e_ehsize; Elf32...
ELF32_Half e_type; ELF32_Half e_machine; ELF32_Word e_version; ELF32__Addr e_entry; ELF32_Off e_phoff; ELF32_Off e_shoff; ELF32_Word e_flags; ELF32_Half e_ehsize; ELF32_Half e_phentsize; ELF32_Half e_phnum; ELF32_Half e_shentsize; ELF32_Half e_shnum; ELF32_Half e...
简介:指向节头部表的开始 8、e_flags 长度:4字节 简介:意义取决于目标架构 9、e_ehsize 长度:2字节 简介:该文件头部的大小 10、e_phentsize 长度:2字节 简介:程序头部的大小 11、e_phnum 长度:2字节 简介:程序头部的条目数 12、e_shentsize 长度:2字节 简介:节头部表的大小 13、e_shnum 长度:2字节 ...
e_version 文件格式的版本 e_entry 程序入口的虚拟地址 e_phoff 程序段头表在该文件内的偏移,单位是字节 e_shoff 节头表在该文件内的偏移,单位是字节 e_flags 包含处理器特定的标记 e_ehsize ELF头的大小,单位是字节 e_phentsize 程序段头表项的大小,单位是字节 ...
●e_phoff给出了程序头表相对于ELF文件开始的处偏移量,根据这个偏移量我们可以找到程序头表的位置 ●e_shoff给出了节头表相对于ELF文件开始处的偏移量,根据这个偏移量我们可以找到节头表的位置 ●e_flags给出了这个ELF文件平台相关属性的标志位。 ●e_ehsize给出了这个ELF头表的大小,以字节为单位 ...
e_entry(四字节)值为0x00000000,表示没有入口点。 e_phoff(四字节)值为0x00000000,表示程序头表。 第三行,e_shoff(四字节)值为0x00000124,表示段表的偏移地址。 e_flags(四字节)值为0x00000000,表示未知处理器特定标志(#define EF_SH_UNKNOWN 0x0)。
e_verison 文件版本,目前常见的ELF 文件版本均为EV_CURRENT(1)。 e_entry 入口虚拟地址。 e_phoff 段表文件偏移。 e_shoff 节表文件偏移。 e_flags 处理器特定的标志,一般为0。 e_ehsize Elf_Header的大小(字节) e_phentsize 段头(Program Header)的大小(字节)。
//目标文件版本 Elf32_Addr e_entry; //程序入口的虚拟地址,若没有,可为0 Elf32_Off e_phoff; //程序头部表格(Program Header Table)的偏移量(按字节计算),若没有,可为0 Elf32_Off e_shoff; //节区头部表格(Section Header Table)的偏移量(按字节计算),若没有,可为0 Elf32_Word e_flags; //保...