我需要在链接二进制文件时创建一些额外的PT_NULL程序头,以便稍后我可以在二进制文件中添加新段。 我从这个链接器脚本开始,它似乎不影响二进制文件,即 它不会创建那些额外的空程序头。
PHDRS
{
PT_PHDR ;
PT_INTERP ;
PT_LOAD ;
PT_LOAD ;
PT_DYNAMIC ;
PT_NULL ;
PT_NULL ;
PT_NULL ;
} ;
任何帮助表示赞赏。 谢谢!
答案 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")