一 头部定义
typedef struct{
unsigned char e_ident[EI_NIDENT]; //最开头是16个字节的e_ident, 其中包含用以表示ELF文件的字符,以及其他一些与机器无关的信息。开头的4个字节值固定不变,为0x7f和ELF三个字符。
Elf32_Half e_type; //该文件的类型 2
Elf32_Half e_machine; //该程序需要的体系结构 2
Elf32_Word e_version; //文件的版本 4
Elf32_Addr e_entry; //程序的入口地址 4
Elf32_Off e_phoff; //Program header table 在文件中的偏移量 4
Elf32_Off e_shoff; //Section header table 在文件中的偏移量 4
Elf32_Word e_flags; //对IA32而言,此项为0。 4
Elf32_Half e_ehsize; //表示ELF header大小 2
Elf32_Half e_phentsize; //表示Program header table中每一个条目的大小 2
Elf32_Half e_phnum; //表示Program header table中有多少个条目 2
Elf32_Half e_shentsize; //表示Section header table中的每一个条目的大小 2
Elf32_Half e_shnum; //表示Section header table中有多少个条目 2
Elf32_Half e_shstrndx; //包含节名称的字符串是第几个节 2
}Elf32_Ehdr;
二 数据类型说明
名称 |