gpt4 book ai didi

linux - 如何通过 `Elf64_Phdr`程序头获取段名?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:25:33 24 4
gpt4 key购买 nike

据我所知,一个 ELF 对象由许多段组成,每个段都有一个相应的程序头来描述该段。在libelf中,一个程序头被定义为一个Elf64_Phdr(或Elf32_Phdr)结构,一个Elf64_Phdr结构是定义如下:

typedef struct {
Elf32_Word p_type; /* Segment type */
Elf32_Off p_offset; /* Segment file offset */
Elf32_Addr p_vaddr; /* Segment virtual address */
Elf32_Addr p_paddr; /* Segment physical address */
Elf32_Word p_filesz; /* Segment size in file */
Elf32_Word p_memsz; /* Segment size in memory */
Elf32_Word p_flags; /* Segment flags */
Elf32_Word p_align; /* Segment alignment */
} Elf32_Phdr;

但是,段有名称(不是吗?)并且 Elf64_Phdr 结构没有指向其相应名称的字段。那么,如何从对应的程序头中获取ELF文件的一段名称呢?或者 p_type 字段是否足以识别段,因此段没有名称?

最佳答案

However, segments have names (don't they?)

不,他们没有。

Or is the p_type field enough to identify a segment, so that segments don't have names?

正确。

关于linux - 如何通过 `Elf64_Phdr`程序头获取段名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13405774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com