Question on how to copy an elf file and edit the .preinit_array section

Anastasios Andronidis anastasis90@gmail.com
Wed Jun 24 13:02:31 GMT 2020


Hello Mark,

thanks a billion for you answer! You gave me a very good starting point!

Kindly,
Anastasios 

> On 19 Jun 2020, at 21:15, Mark Wielaard <mark@klomp.org> wrote:
> 
> Hi,
> 
> On Thu, 2020-06-11 at 15:25 +0100, Anastasios Andronidis via Elfutils-
> devel wrote:
>> Could someone please help me with this: 
>> https://stackoverflow.com/questions/62293512/inject-a-preinit-array-section-in-an-elf-file-with-libelf
>> 
>> I'm trying to do some runtime manipulation of an elf file and I'm a
>> little bit lost with how to use libelf :/
>> 
>> Basically I want to copy an elf file to a new one and edit
>> .preinit_array section. This is similar to what objcopy --add-section 
>> would do, but I only care about the elf headers and using libelf to
>> achieve this.
> 
> elfutils libelf can certainly help with adding or updating section data
> and if requested update the section headers. See for example
> tests/addsections.c. But you are responsible for updating and keeping
> the program headers in sync with the section data/offsets yourself
> (this is why in a lot of test/examples you actually see elf_flagelf
> (elf, ELF_C_SET, ELF_F_LAYOUT) (to tell libelf not to assume it can
> adjust the section headers itself) when you have an ELF file with
> program headers (because you don't want the data offsets to get out of
> sync).
> 
> Cheers,
> 
> Mark



More information about the Elfutils-devel mailing list