Dans le premier article, nous avons appris à lire l'en-tête d'un fichier exécutable à l'aide de la commande readelf.
Nous allons maintenant, montrer comment il est programmatiquement possible de lire le contenu d'un fichier elf.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
|
Voilà, le style est assez simple. L'obectif ici étant de montrer l'existance des fichiers d'include proposant des structures permettant de lire le contenu d'un fichier elf. Le programme pourrait être complété avec tous les codes e_machines déclarés dans le fichier /usr/include/linux/elf-em.h.
N'hésitez pas à vous construire un programme vous même pour bien comprendre comment tout cela fonctionne, et peut-être même à vous construire votre premier outil personnel vous permettant d'analyser votre fichier.
Vous pouvez aussi utiliser les pages du manuel Linux pour augmenter la précision des informations remontées.
$ man elf
Cette aide est disponible en français: man elf
La prochaine étape consite à lire les en-têtes de programmes et de sections.
Pour cela nous disposont déjà des indications retournée par notre programme.