elf头
以32位为例,64位与其区别只是在于数据类型的区别。
数据结构
typedefstruct
{
unsigned char e_ident[EI_NIDENT]; /* Magic number and other info */
Elf32_Half e_type; /* Object file type */
ELF文件类型:
ET_REL--重定位文件,如.o
ET_EXEC----可执行文件
ET_DYN---动态库
ET_CORE---core dump
Elf32_Half e_machine; /* Architecture */
Elf32_Word e_version; /* Object file version */
Elf32_Addr e_entry; /* Entry point virtual address */虚拟内存中入口点
Elf32_Off e_phoff; /* Program header table file offset */程序头表在二进制文件中的偏移量
Elf32_Off e_shoff; /* Section header table file offset*/节头表所在的偏移量