可能将可执行节/段添加到ELF二进制文件?
问题描述:
使用objcopy --add-section很容易添加空白部分。 但是,我想添加的部分可以正常.text部分和可执行文件加载。这意味着需要修改段标题。任何建议?可能将可执行节/段添加到ELF二进制文件?
答
可能将可执行文件段/段添加到ELF二进制文件?
这在理论上是可能的,但在实践中是不可能的:ELF
文件具有复杂的内部结构,这些都需要重建。
这意味着需要修改段头
修改Phdr
表是很容易的:它只是一个固定的表。但是您必须移动其他细分,并更新指向它们的所有内部偏移,这是很难的部分。
我想另外一个选择,不确定是否可以达到我的预期:在文件末尾添加一个新的可执行部分,并将现有的加载段(覆盖.text部分)扩展到新文件的末尾。然而,修补后,二进制文件无法加载......不知道其他可能的解决方案?在.text之后移动部分和段可能可行,但我需要编写一个工具来调整后面部分/段中的所有偏移量。 – Ivellios 2015-03-16 05:20:06