提问人:Pieter Jansen 提问时间:6/15/2023 更新时间:6/30/2023 访问量:153
PE 文件结构
PE file structure
问:
希望有人能为我回答这些问题,谢谢。
查看 msdn 和其他文档,我看到 PE 文件的数据描述包含导入表部分 (.idata) 的 RVA。但是,sections 表还包含 idata 部分的 RVA,这不是多余的吗?
其次,我阅读了有关导入查找/名称表、导入地址表、导入目录表和提示/名称表的信息,我想知道为什么 ILT 不包含函数的名称,而是包含提示/名称表的 RVA?或者换句话说,为什么导入目录表不直接引用 hint/name 表,而是使用 ILT 作为包装器(是因为在 ILT 中,如果它是用序号/按其名称调用的,它是定义的?
据我所知,IAT 也可以是只读的,但在这种情况下,它仍然是 .idata 部分或 .rdata 部分的一部分(我读到部分名称并不那么重要,可以更改而不会造成严重后果)。
感谢您的帮助!
答:
0赞
Jeaninez - MSFT
#1
根据社区的建议:
请参阅文档:PE 格式
.idata 地址位于 Data Directories 表中,但 .idata 地址是 imports-table 的地址
各节描述内存的分配位置。目录描述如何解释内存。没有规则要求将与进口相关的信息放在自己的部分,但通常出于各种原因这样做,有些是实用的,有些是传统的。
评论
.idata
.idata