首页 > 解决方案 > 32 位/64 位 ELF 二进制文件的程序头表和节头表的大小

问题描述

32 位和 64 位 ELF 二进制文件的 ELF 标头大小分别为 52 和 64 字节。我想知道程序头表或节头表的大小是否也为 32 位和 64 位 ELF 二进制文件定义和固定?

我有一些 ELF 文件,其中所有 32 位和 64 位二进制文​​件的程序头表大小分别为 32 字节和 56 字节。同样,所有 32 位和 64 位二进制的节头表的大小分别为 40 字节和 64 字节。

标签: linuxelf

解决方案


我想知道程序头表或节头表的大小是否也为 32 位和 64 位 ELF 二进制文件定义和固定?

每个表中 1 个元素的大小是固定的 ( sizeof(Elf{32,64}_Phdr), sizeof(Elf{32,64}_Shdr)),但这些表的大小取决于段和节的数量,并且这些数字在不同的二进制文件之间变化很大。


推荐阅读