【发布时间】:2016-11-13 05:33:04
【问题描述】:
谁能解释一下PE标头中绑定导入和延迟导入之间的区别。我参考了几本书,但我无法清楚地理解它的概念。谁能帮助我。
【问题讨论】:
-
欢迎来到 Stackoverflow。请参考stackoverflow.com/help/how-to-ask 并使用能够稍微解释问题的标题。
标签: reverse-engineering portable-executable
谁能解释一下PE标头中绑定导入和延迟导入之间的区别。我参考了几本书,但我无法清楚地理解它的概念。谁能帮助我。
【问题讨论】:
标签: reverse-engineering portable-executable
绑定导入意味着在 PE 导入表中存储导入函数的固定(绑定)地址,用于具有这些函数的特定版本的 DLL。绑定地址在程序编译和链接阶段由链接器计算并写入导入表。
延迟导入意味着在导入表中而不是导入函数地址包含称为“延迟加载助手”(有时也称为“thunk”)的特殊程序部分的地址,它在调用函数时替换实际导入函数地址第一次。并且后续函数调用使用延迟加载助手编写的真实函数地址。
这是概念。例如,您可以在 Iczelion 的 PE 教程中找到详细信息
【讨论】: