【发布时间】:2018-02-15 17:13:10
【问题描述】:
我正在编写一个 EFI 应用程序,它将 ELF 加载到内存中并跳转到它,但我不知道我应该首先分析哪个标头(程序或节标头)。我有一个读取程序头以将 ELF 加载到内存中的函数(有效)和一个读取节头以将 ELF 加载到内存中的函数(这也有效)。
【问题讨论】:
标签: elf
我正在编写一个 EFI 应用程序,它将 ELF 加载到内存中并跳转到它,但我不知道我应该首先分析哪个标头(程序或节标头)。我有一个读取程序头以将 ELF 加载到内存中的函数(有效)和一个读取节头以将 ELF 加载到内存中的函数(这也有效)。
【问题讨论】:
标签: elf
程序加载器应该只查看程序头。部分标题用于调试器等工具。我认为这在原始 ELF 规范或 System V ABI 规范中没有明确说明,但非常隐含:
即使在今天,当定义了动态链接器使用的新功能时,动态引用也会添加到动态部分,即使理论上也可以从部分标题中获取信息(但可能有一些某些架构的例外情况)。
【讨论】: