... J'ai un binaire, disons un kernel, placé dans /boot, et portant le doux nom de bzImage. Comment puis-je faire pour savoir avec quelle version de gcc il a été compilé ?
C'est kon, mais je sèche !
Bien fait pour moi : question mal posée (en tout cas, c'est pas *vraiment* celle que je voulais poser...) et résultat, j'aurais mieux fait de réfléchir avant de tapoter sur mon clavier...
Bon pour le kernel, j'ai trouvé, c'est ok (un bete head /var/log/kern.log m'a évité un reboot, mille mercis), mais qu'en est-il de tout autre fichier binaire ?
Ben oui, si je veux savoir avec quelle version de quel compilo a été généré tel fichier (on va rester au format elf, quand même), comment je fais ?
Disons, si c'est une librairie, statique ou dynamique, peu importe, ou un executable, genre hello.c ?
Merci pour vos suggestions !
l'info n'est pas stocké dans le format elf.
ref : http://www.cs.ucdavis.edu/~haungs/paper/node10.html(...)
l'info n'est pas non plus dans un .c par defaut.
En conclusion, si le programme n'integre pas specifiquement cette information dans son code il ne me semble pas y avoir de moyen de la retrouver.
J'y connais rien mais a priori devrait y avoir moyen de retrouver le compilateur utilisé en analysant le fichier heuristiquement selon ce qui peut varier (genre l'ordre et la présence des sections puisque ça semble variable). Un peu dans le même genre que p0f et nmap -O pour les OS avec les paquets IP. J'ai une peu cherché sur Google pour voir si ça existe déjà mais j'ai rien trouvé. Ca pourrait être intéressant à faire mais je sais pas si ça pourrait distinguer des versions différentes d'un même compilateur.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# my life
Posté par TheBreton . Évalué à 2.
[^] # Re: my life
Posté par Gyro Gearllose . Évalué à 2.
Bon pour le kernel, j'ai trouvé, c'est ok (un bete head /var/log/kern.log m'a évité un reboot, mille mercis), mais qu'en est-il de tout autre fichier binaire ?
Ben oui, si je veux savoir avec quelle version de quel compilo a été généré tel fichier (on va rester au format elf, quand même), comment je fais ?
Disons, si c'est une librairie, statique ou dynamique, peu importe, ou un executable, genre hello.c ?
Merci pour vos suggestions !
[^] # Re: my life
Posté par TheBreton . Évalué à 2.
ref : http://www.cs.ucdavis.edu/~haungs/paper/node10.html(...)
l'info n'est pas non plus dans un .c par defaut.
En conclusion, si le programme n'integre pas specifiquement cette information dans son code il ne me semble pas y avoir de moyen de la retrouver.
[^] # Re: my life
Posté par Krunch (site web personnel) . Évalué à 3.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# Sous unix il y a la commande what !
Posté par FReEDoM (site web personnel) . Évalué à 2.
[^] # Re: Sous unix il y a la commande what !
Posté par TheBreton . Évalué à 1.
http://www.rt.com/man/(...)
t'aurais un lien pour trouver comment elle fonctionne en interne ?
[^] # Re: Sous unix il y a la commande what !
Posté par FReEDoM (site web personnel) . Évalué à 1.
[^] # Re: Sous unix il y a la commande what !
Posté par FReEDoM (site web personnel) . Évalué à 1.
# elf
Posté par errno . Évalué à 1.
avec readelf on peut facilement lire le contenu de cette section, par exemple :
readelf -x `readelf -S $Prog | grep .comment | cut -f1 -d] | tr -d [` $Prog
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.