【发布时间】:2015-06-16 14:37:26
【问题描述】:
我试图更好地理解 PE 格式,并且想知道 PE 文件中的节和数据目录之间的关系是什么。打开一个 PE 文件,我注意到它们经常重叠,但我不清楚它们为什么或它们之间的关系,而且微软的官方 PE 文件格式规范似乎并没有真正让这一点更清楚。
我了解节标题的名称值可以更改,因此不能保证对特定块的引用,因此应依赖此类数据目录来查找文件中的特定块。
在我打开的示例 PE 文件中,我注意到 .text 部分与导入地址表数据目录标题具有相同的偏移量,尽管 IAT 大小列为 8,而 .text 部分大小为 6804。对比资源数据目录标题,它从 16384 开始,长度为 1568 - 与 .rsrc 部分的条目完全一致。后者对我有意义,前者没有。
那么节与数据目录的不同用途是什么?为什么这两个概念都存在,为什么它们有时会在似乎没有意义的地方重叠?
【问题讨论】:
标签: windows portable-executable