GNU/Linux >> Znalost Linux >  >> Linux

Přidání sekce do souboru ELF

Vím, že je to stará otázka, ale našel jsem pracovní příklad, který mi pomohl použít jej na můj projekt. (Pro případ, že by někdo narazil na tuto otázku)

převzato ze Sourceware Mail Archiv

$ echo 'int main() { puts ("Hello world"); }' | gcc -x c - -c -o hello.o

$ echo "this is my special data" >mydata

$ objcopy --add-section .mydata=mydata \
          --set-section-flags .mydata=noload,readonly hello.o hello2.o

$ gcc hello2.o -o hello

$ ./hello
Hello world

$ objdump -sj .mydata hello

podívejte se na ELFsh, který je nyní součástí projektu ERESI http://www.eresi-project.org/Mají spoustu dokumentace a skvělé využití svých nástrojů.


Následující odkazy mohou být užitečné:

  • Výukový program "libelf by Example" obsahuje kapitolu o vytváření nových objektů ELF.
  • Projekt elftoolchain má manuálové stránky popisující libelf 's API podrobně.

V této otázce o záhlaví souborů ELF je několik (možná) souvisejících odpovědí. Přijatá odpověď uvedená pomocí objcopy přidat sekce do souboru ELF a BSD bintools tvrdí, že má implementaci objcopy licencovanou BSD které by mohly vyhovovat vašim potřebám.


Linux
  1. Platný případ použití pro oprávnění „pouze spouštět“ soubor?

  2. Linux – Spustit pouze oprávnění k souboru?

  3. Přidání swapového svazku?

  1. Linux ELF Object File Format (a struktura záhlaví ELF) Základy

  2. Nástroj pro úpravu dynamické části binárního souboru ELF

  3. glibc:elf soubor OS ABI je neplatný

  1. Jaký je rozdíl mezi sekcemi a segmenty ve formátu souboru ELF

  2. může program číst vlastní elfí sekci?

  3. cp-L vs. cp-H