GNU/Linux >> Tutoriels Linux >  >> Linux

Ajout d'une section au fichier ELF

Je sais que c'est une vieille question mais j'ai trouvé un exemple de travail qui m'a aidé à l'appliquer à mon projet. (Au cas où quelqu'un tomberait sur cette question)

extrait de 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

jetez un œil à ELFsh, qui fait maintenant partie du projet ERESIhttp://www.eresi-project.org/Ils ont beaucoup de documentation et des utilisations intéressantes de leurs outils.


Les liens suivants pourraient être utiles :

  • Le tutoriel "libelf par l'exemple" contient un chapitre sur la création de nouveaux objets ELF.
  • Le projet elftoolchain a des pages de manuel décrivant libelf de l'API en détail.

Il y a quelques réponses (éventuellement) liées dans cette question sur les en-têtes de fichiers ELF. La réponse acceptée mentionnée en utilisant objcopy pour ajouter des sections à un fichier ELF, et les bintools BSD prétendent avoir une implémentation sous licence BSD de objcopy qui pourrait répondre à vos besoins.


Linux
  1. Outil pour modifier la section dynamique d'un binaire ELF

  2. Lecture d'un fichier en assembleur

  3. glibc :fichier elf OS ABI invalide

  4. Quelle est la différence entre la section et le segment au format de fichier ELF

  5. un programme peut-il lire sa propre section elf ?

Exécuter un fichier binaire plat sous Linux

a.out remplacé par le format de fichier ELF ?

Ajout d'horodatage à un nom de fichier avec mv dans BASH

Comment arrêter d'ajouter l'IP d'EC2 àknown_hosts pour ssh ?

cp -L vs cp -H

Ajout de fichier aux fichiers tbz