0

是否可以将已链接的 elf 文件重新定位到另一个地址并更新内部引用?

例如,有一个静态链接的 elf 文件链接在 0x50000,我怎样才能将它移动到 0x1000000 并更新指针和地址?

4

1 回答 1

2

是否可以将已链接的 elf 文件重新定位到另一个地址

一般来说:没有。链接器丢弃重定位记录,这是更新可执行文件中的内部引用所必需的。

现在,如果您的可执行文件不使用全局数据并且不获取任何函数的地址,并且您处于JMPs 和CALLs 是-relative的体系结构上pc,那么可能只需更新.PT_LOAD.e_entryElf{32,64}_Ehdr

于 2013-07-05T16:36:34.583 回答