參考:ELF文件格式解析 -- 做一個搬運,找起來比較方便
a. ELF32的Program Header Table
typedef struct { Elf32_Word p_type; //此數組元素描述的段的類型,或者如何解釋此數組元素的信息。 Elf32_Off p_offset; //此成員給出從文件頭到該段第一個字節的偏移 Elf32_Addr p_vaddr; //此成員給出段的第一個字節將被放到內存中的虛擬地址 Elf32_Addr p_paddr; //此成員僅用於與物理地址相關的系統中。System V忽略所有應用程序的物理地址信息。 Elf32_Word p_filesz; //此成員給出段在文件映像中所占的字節數。可以為0。 Elf32_Word p_memsz; //此成員給出段在內存映像中占用的字節數。可以為0。 Elf32_Word p_flags; //此成員給出與段相關的標志。 Elf32_Word p_align; //此成員給出段在文件中和內存中如何對齊。 } Elf32_phdr;
b. p_type字段的取值和含義
c. 使用IDA查看ELF文件的程序頭實例