我想知道这两个标题是否有相同的含义,为什么?
来自维基百科:
偏移量06h:对于elf的原始版本,设置为1。
偏移14h:对于elf的原始版本,设置为1。
参考:http://en.wikipedia.org/wiki/Executable_and_Linkable_Format

最佳答案

您可能希望阅读更详细的文档,其中可能包含您要查找的信息:
http://www.skyfree.org/linux/references/ELF_Format.pdf
标题结构

#define EINIDENT   16

typedefstruct{
    unsigned char e_ident[EINIDENT];
    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_shstrndx;
} Elf32Ehdr;

第二个E_版本,定义为1(即“当前”)
e_version This member identifies the object file version.
          Name        Value    Meaning
          EV_NONE       0      Invalid version
          EV_CURRENT    1      Current version

          The value 1 signifies the original file format; extensions will
          create new versions with higher numbers. The value of EV_CURRENT,
          though given as 1 above, will change as necessary to reflect the
          current version number.

电子识别部分中的版本也是EV U当前版本,因此完全相同的版本:
EI_VERSION Byte e_ident[EI_VERSION] specifies the ELF header version
           number. Currently, this value must be EV_CURRENT, as
           explained above for e_version.

据我所知,我想说,版本还没有改变,所以仍然是1在这两个地方,但这可能会改变在未来…

关于linux - ELF header ,偏移量06h和14h是否重复?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22311782/

10-13 05:27