【发布时间】:2008-09-18 14:50:28
【问题描述】:
我正在阅读 COFF 文件格式,它通常用于创建可执行文件格式(它也有一些变体)。
在阅读时,我遇到了格式的重定位部分。这个重定位部分如何用于创建可执行文件。
如果您向我指出一些对我有帮助的链接,那将非常有用。
【问题讨论】:
标签: coff
我正在阅读 COFF 文件格式,它通常用于创建可执行文件格式(它也有一些变体)。
在阅读时,我遇到了格式的重定位部分。这个重定位部分如何用于创建可执行文件。
如果您向我指出一些对我有帮助的链接,那将非常有用。
【问题讨论】:
标签: coff
其实COFF有2种重定位信息:
它们有相似但不同的目的。可执行文件中的重定位信息标识在加载时需要修复的内容,如果可执行映像加载到与其首选地址不同的地址。
COFF 重定位记录标识需要在链接时修复的内容,此时将目标文件中的部分分配给可执行映像中的偏移量。
【讨论】:
重定位的一个意外附加用途是在运行时(去)混淆二进制文件,而无需额外的解包代码。见this paper。
【讨论】: