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

问题描述 投票:2回答:1

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

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

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

linker gnu
1个回答
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")
© www.soinside.com 2019 - 2024. All rights reserved.