如何使用链接描述文件在二进制文件中创建额外的PT_NULL程序头

时间:2016-09-22 17:42:31

标签: linker gnu

我需要在链接二进制文件时创建一些额外的PT_NULL程序头,以便稍后我可以在二进制文件中添加新段。 我从这个链接器脚本开始,它似乎不影响二进制文件,即 它不会创建那些额外的空程序头。

PHDRS
{
   PT_PHDR ;
   PT_INTERP ;
   PT_LOAD ;
   PT_LOAD ;
   PT_DYNAMIC ;
   PT_NULL ;
   PT_NULL ;
   PT_NULL ;
} ;

任何帮助表示赞赏。 谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在lief库的帮助下实现这一目标:

from lief.ELF import Segment, SEGMENT_TYPES

binary = lief.parse("bin_elf")
null = Segment()
null.type=SEGMENT_TYPES.NULL
null.alignment = 0x1000
binary.add(null)
binary.write("bin_elf.modified")