【发布时间】:2012-06-08 08:13:12
【问题描述】:
我正在使用 Libelf 和 Elfio 尝试向 ELF 文件添加一个新部分。我希望它是可执行的,就像.text。
这是我的问题:使用 Libelf,一旦我加载 (elf_begin())、更新 (elf_update()) 并释放 (elf_end()) 我的 ELF,它就停止执行(段错误 启动时)。 readelf -S 显示部分但也返回错误:
readelf: Warning: the .dynamic section is not contained within the dynamic segment
我没有在 Libelf 中找到任何将 .dynamic 部分“添加”到 DYNAMIC 段的函数。
但是我可以使用 Elfio(使用 segment->add_section_index() 函数)来做到这一点,但是我必须手动将每个其他部分添加到每个其他部分,因为 Elfio 似乎在加载 ELF 时会覆盖它们。
有人使用过这些库吗?
我的最终目标是能够在 ELF 中创建一个新的可执行节,并修改其入口点以跳转并直接执行该新节,从而创建一个打包器。
【问题讨论】:
标签: add executable elf