Windows 目标文件 COFF 重定位说明

问题描述

我正在尝试创建一个 x86-64 Windows COFF 对象文件,但我并不完全理解 https://docs.microsoft.com/en-us/windows/win32/debug/pe-format#x64-processors 中描述的不同类型的重定位。具体来说,我不确定 IMAGE_REL_AMD64_REL32包括 _* 变体)、IMAGE_REL_AMD64_SREL32IMAGE_REL_AMD64_PAIRIMAGE_REL_AMD64_sspAN32 是做什么的。有一些关于它们的文档,但描述性不够,我找不到任何引用这些的外部资源。更准确地说,我不知道“跨度相关值”是什么意思,也不知道 REL32 到底与什么相关。我将不胜感激任何有关这方面的信息。

编辑:好的,经过一番思考,我明白了 REL32 是针对 RIP 相对寻址的,而变体适用于地址相对于指令开头的位置偏移量,并且符号指向其开头的情况.我仍然想知道 SREL32、PAIR 和 sspAN32 是干什么用的...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)