linux - 32 位/64 位 ELF 二进制文件的程序头表和节头表的大小
问题描述
32 位和 64 位 ELF 二进制文件的 ELF 标头大小分别为 52 和 64 字节。我想知道程序头表或节头表的大小是否也为 32 位和 64 位 ELF 二进制文件定义和固定?
我有一些 ELF 文件,其中所有 32 位和 64 位二进制文件的程序头表大小分别为 32 字节和 56 字节。同样,所有 32 位和 64 位二进制的节头表的大小分别为 40 字节和 64 字节。
解决方案
我想知道程序头表或节头表的大小是否也为 32 位和 64 位 ELF 二进制文件定义和固定?
每个表中 1 个元素的大小是固定的 ( sizeof(Elf{32,64}_Phdr)
, sizeof(Elf{32,64}_Shdr)
),但这些表的总大小取决于段和节的数量,并且这些数字在不同的二进制文件之间变化很大。
推荐阅读
- python - Python 在 smtplib.SMTP("smtp.gmail.com", 587) 上冻结
- java - 如何在从服务器端发送到客户端时将货币代码映射到自定义代码
- c# - 窗口中的 WPF 窗口 (c#)
- java - 在awt java中绘制不规则形状并填充颜色
- python - GLIBC 2.14 安装错误:需要强制展开支持 - RHEL 7.5
- html - 如何冻结表格列
- r - rugarch - 使用循环获取 R 中的 servaral 模型的 AIC
- javascript - 数组的 JavaScript 不区分大小写的通用排序
- c++ - std::pair 字符串作为 std 中定义的 unordered_map 的自定义键失败并出现模板错误
- google-maps - 在 Cytoscape 中集成地图