GNU/Linux >> Tutoriels Linux >  >> Linux

Linux – Pouvons-nous obtenir des informations sur le compilateur à partir d'un binaire Elf ?

Y a-t-il une chance de savoir comment un binaire a été construit, sous Linux ? (et ou autre Unix)

Compilateur, version, heure, flags etc…

J'ai regardé readelf et n'a pas pu trouver grand-chose, mais il pourrait y avoir d'autres moyens d'analyser le code binaire/la section etc…

Tout ce que vous savez extraire ?

Réponse acceptée :

Il n'y a pas de méthode universelle, mais vous pouvez faire une supposition éclairée en recherchant les choses faites par un seul compilateur.

GCC est le plus simple; il écrit un .comment section qui contient la chaîne de version de GCC (la même chaîne que vous obtenez si vous exécutez gcc --version ). Je ne sais pas s'il existe un moyen de l'afficher avec readelf , mais avec objdump c'est :

objdump -s --section .comment /path/binary

Je viens de réaliser que j'ai ignoré le reste de votre question. Les drapeaux ne sont généralement enregistrés nulle part; ils seraient probablement dans une section de commentaires, mais je n'ai jamais vu cela fait. Il y a une place dans l'en-tête COFF pour un horodatage, mais il n'y a pas d'équivalent dans ELF, donc je ne pense pas que le temps de compilation soit disponible non plus


Linux
  1. J'ai utilisé Ctrl-Alt-F6 sous Linux et je ne peux pas récupérer mon écran

  2. Exécuter un fichier binaire plat sous Linux

  3. Obtenir un entier plafond à partir d'un nombre sous Linux (BASH)

  4. Comment puis-je obtenir des informations sur le conteneur Docker Linux à partir du conteneur lui-même ?

  5. Comment obtenir le nom d'hôte de l'IP (Linux) ?

Obtenir des informations sur le processeur sous Linux

Wikit - Obtenez des résumés de Wikipedia à partir de la ligne de commande sous Linux

Comment obtenir des nouvelles instantanément à partir de la ligne de commande sous Linux

Comment obtenir des informations sur d'autres utilisateurs de Linux

Obtenir des informations sur une commande avec une commande de type sous Linux

Commande Linux lshw - Obtenir des informations sur le matériel Linux