2017-05-12 2 views
0

J'ai besoin d'obtenir des fichiers qu'un binaire utilise.Linux elf binary récupérer le fichier binaire lire/écrit

Je peux voir toutes les dépendances d'un binaire ELF dans la section .interp, mais puis-je obtenir les fichiers conf de mon binaire? Par exemple si un binaire lit /etc/host, je veux voir /etc/host dans une section de mon fichier ELF.

Je ne vois pas que dans la documentation: https://refspecs.linuxfoundation.org/LSB_1.1.0/gLSB/specialsections.html

+0

Vous devez expliquer ** pourquoi avez-vous besoin de ** pour obtenir la liste des fichiers écrits par * quel * programme. On dirait que [problème XY] (http://xyproblem.info). Alors s'il vous plaît ** éditez votre question ** pour l'améliorer et le motiver. –

Répondre

1

J'ai besoin pour obtenir des fichiers exécutables que certaines utilisations binaires.

Vous ne pouvez pas get (tous) les. Un chemin de fichier utilisé par un exécutable peut être calculé lors de l'exécution (ce qui est très souvent le cas, pensez au programme cat(1)). Résoudre ce problème (de calculer de manière fiable tous les fichiers utilisés par un programme) en général pourrait être prouvé équivalent à Halting problem.

Cependant, en pratique, l'utilitaire strings(1) peut vous aider à deviner certains fichiers des fichiers (statiquement) référencés par un exécutable.

Vous pouvez également utiliser strace(1) pour comprendre (de façon dynamique) quels fichiers sont open(2) lors d'une exécution particulière.

Lisez également attentivement la documentation de votre exécutable. S'il s'agit d'un free software, étudiez également son source code.