Je dois pouvoir ajouter une section arbitraire à un fichier ELF. Je ne peux pas utiliser le code GPL dans ce programme, donc BFD est hors de question. Je peux utiliser libelf/gelf pour lire des sections, mais la documentation est assez éparse pour celles-ci, et je n'arrive pas à comprendre comment ajouter une section. Est-ce que quelqu'un sait comment faire cela? Je préférerais ne pas écrire mon propre code ELF.Ajouter une section au fichier ELF
Répondre
Il y a quelques réponses (éventuellement) associées dans this question about ELF file headers. La réponse acceptée a mentionné l'utilisation de objcopy
pour ajouter des sections à un fichier ELF, et le BSD bintools prétend avoir une implémentation sous licence BSD de objcopy
qui pourrait répondre à vos besoins.
un coup d'oeil à ELFsh, qui fait maintenant partie du projet eresi http://www.eresi-project.org/ Ils ont beaucoup de documentation et utilisations fraîches de leurs outils.
N'a pas essayé (encore) moi-même, mais vous pouvez regarder la fonction elf_newscn dans libelf
Les liens suivants pourraient être utiles:
- Le tutoriel « libelf by Example » a un chapitre sur la création nouveaux objets ELF. Le elftoolchain project contient des pages de manuel décrivant l'API de
libelf
en détail.
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 trébuche sur cette question)
pris 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
- 1. Modification du fichier elf
- 2. Relocalisation ELF au moment du chargement
- 3. Symboles relocalisables au format ELF (langage d'assemblage)
- 4. java ajouter au fichier
- 5. Comment ajouter une classe étendue ScrollViewer au fichier XAML?
- 6. Comment ajouter une section autour d'une section de texte en javascript?
- 7. Ajouter des données de fichier texte au fichier journal, .bat
- 8. SSIS: Comment lire un fichier plat et ajouter une nouvelle ligne au fichier
- 9. Comment accéder à une section d'un fichier de propriétés?
- 10. GCC/ELF - d'où vient mon symbole?
- 11. Comment ajouter l'heure système au nom de fichier dans Oracle?
- 12. Ajouter au fichier si existe et créer sinon
- 13. Puis-je ajouter des classes au fichier rt.jar de sun?
- 14. comment ajouter le test MBUnit au fichier de configuration CruiseControl.Net
- 15. Comment puis-je trouver quelle dépendance ELF n'est pas satisfaite?
- 16. Pack bibliothèques partagées dans le elf
- 17. Existe-t-il un moyen d'ajouter une section Subversion au menu contextuel de TextMate?
- 18. Comment créer une section de configuration personnalisée dans app.config?
- 19. Comment puis-je ajouter une nouvelle ligne au début d'un fichier sans écraser les données?
- 20. Comment ajouter un élément de menu au menu contextuel d'un fichier avec une ligne séparée?
- 21. moveRowAtIndexPath: comment supprimer une section une fois la dernière ligne déplacée vers une autre section
- 22. asp: répéteur - en-têtes au changement de section
- 23. Comment ajouter un fichier css ou js au fichier MasterPage actuel par wsp deploy?
- 24. Ajouter un fichier à un fichier MSI
- 25. Comment ajouter une section personnalisée à la page d'accueil de Django?
- 26. XSLT Ajouter au document de résultat
- 27. Une section, plusieurs implémentations en C#
- 28. makefile: comment ajouter un préfixe au basename?
- 29. Ajouter une bibliothèque au projet Visual Studio 2008 C++
- 30. comment ajouter une ligne quelque part au milieu d'une table
Cela semble prometteur. Je vous remercie – c4757p