我想知道这两个标题是否有相同的含义,为什么?
来自维基百科:
偏移量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/