首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IMAGE_OPTIONAL_HEADER.DataDirectory有固定大小还是可变大小?

IMAGE_OPTIONAL_HEADER.DataDirectory有固定大小还是可变大小?
EN

Stack Overflow用户
提问于 2017-04-09 12:53:58
回答 1查看 1.4K关注 0票数 1

我对IMAGE_OPTIONAL_HEADER.DataDirectory有点困惑。正如PE/COFF规范所说,

头部分:数据目录 大小:变量 描述:图像文件中找到并由操作系统使用的特殊表的地址/大小对(例如导入表和导出表)。

而且还

NumberOfRvaAndSizes:可选标头剩余部分中的数据目录条目数。每个描述一个位置和大小。

最后,

3.4.3.可选的头数据目录(仅图像) 注意,目录的数量不是固定的。在查找特定目录之前,请检查可选标头中的NumberOfRvaAndSizes字段。 另外,不要假设这个表中的RVA指向一个节的开头,或者包含特定表的部分具有特定的名称。

最后一段提到了下表:

正如我从上面了解到的,DataDirectory不必有固定大小的IMAGE_NUMBEROF_DIRECTORY_ENTRIES。它应该包含NumberOfRvaAndSizes条目。实际上,这与上面的目录条目表相矛盾,其中每种类型在表中都有自己的偏移量,并且混淆了。

所以,我的问题是:在DataDirectory中是否允许包含小于DataDirectory的内容,还是必须总是这样大小?

在这种情况下,如何正确计算NumberOfRvaAndSizes?例如,我只有导入目录。那么NumberOfRvaAndSizes应该是1。但是DataDirectory中仍然有16个条目,而导入条目在索引1中?

很抱歉有一些误导的标签。我添加它们是为了引起注意,因为指定portable-executable只会导致熟悉格式的人可能会错过这个问题。

EN

回答 1

Stack Overflow用户

发布于 2017-04-09 13:00:51

在映像文件中找到并由操作系统使用的特殊表的地址/大小对(例如,导入表和导出表)。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43306896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档