My own elf programs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

117 lines
6.0 KiB

En-tête ELF:
Magique: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Classe: ELF32
Données: complément à 2, système à octets de poids faible d'abord (little endian)
Version: 1 (actuelle)
OS/ABI: UNIX - System V
Version ABI: 0
Type: DYN (fichier objet partagé)
Machine: Intel 80386
Version: 0x1
Adresse du point d'entrée: 0x1fc
Début des en-têtes de programme : 52 (octets dans le fichier)
Début des en-têtes de section : 904 (octets dans le fichier)
Fanions: 0x0
Taille de cet en-tête: 52 (octets)
Taille de l'en-tête du programme: 32 (octets)
Nombre d'en-tête du programme: 5
Taille des en-têtes de section: 40 (octets)
Nombre d'en-têtes de section: 15
Table d'index des chaînes d'en-tête de section: 14
En-têtes de section :
[Nr] Nom Type Adr Décala.Taille ES Fan LN Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .note.gnu.bu[...] NOTE 000000d4 0000d4 000024 00 A 0 0 4
[ 2] .gnu.hash GNU_HASH 000000f8 0000f8 000030 04 A 3 0 4
[ 3] .dynsym DYNSYM 00000128 000128 000060 10 A 4 1 4
[ 4] .dynstr STRTAB 00000188 000188 000037 00 A 0 0 1
[ 5] .gnu.version VERSYM 000001c0 0001c0 00000c 02 A 3 0 2
[ 6] .gnu.version_r VERNEED 000001cc 0001cc 000020 00 A 4 1 4
[ 7] .rel.dyn REL 000001ec 0001ec 000010 08 A 3 0 4
[ 8] .rodata PROGBITS 000001fc 0001fc 000004 00 A 0 0 4
[ 9] .dynamic DYNAMIC 00001200 000200 000098 08 WA 4 0 4
[10] .got.plt PROGBITS 00001298 000298 00000c 04 WA 0 0 4
[11] .data PROGBITS 000012a4 0002a4 000004 00 WA 0 0 4
[12] .comment PROGBITS 00000000 0002a8 00002c 01 MS 0 0 1
[13] .gnu_debuglink PROGBITS 00000000 0002d4 00001c 00 0 0 4
[14] .shstrtab STRTAB 00000000 0002f0 000095 00 0 0 1
Clé des fanions :
W (écriture), A (allocation), X (exécution), M (fusion), S (chaînes), I (info),
L (ordre des liens), O (traitement supplémentaire par l'OS requis), G (groupe),
T (TLS), C (compressé), x (inconnu), o (spécifique à l'OS), E (exclu),
D (mbind), p (processor specific)
Il n'y a pas de groupe de section dans ce fichier.
En-têtes de programme :
Type Décalage Adr. vir. Adr.phys. T.Fich. T.Mém. Fan Alignement
LOAD 0x000000 0x00000000 0x00000000 0x00200 0x00200 R 0x1000
LOAD 0x000200 0x00001200 0x00001200 0x000a8 0x000a8 RW 0x1000
DYNAMIC 0x000200 0x00001200 0x00001200 0x00098 0x00098 RW 0x4
NOTE 0x0000d4 0x000000d4 0x000000d4 0x00024 0x00024 R 0x4
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4
Correspondance section/segment :
Sections de segment...
00 .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rodata
01 .dynamic .got.plt .data
02 .dynamic
03 .note.gnu.build-id
04
Dynamic section at offset 0x200 contains 15 entries:
Étiquettes Type Nom/Valeur
0x00000001 (NEEDED) Bibliothèque partagée : [libc.so.6]
0x6ffffef5 (GNU_HASH) 0xf8
0x00000005 (STRTAB) 0x188
0x00000006 (SYMTAB) 0x128
0x0000000a (STRSZ) 55 (octets)
0x0000000b (SYMENT) 16 (octets)
0x00000011 (REL) 0x1ec
0x00000012 (RELSZ) 16 (octets)
0x00000013 (RELENT) 8 (octets)
0x00000016 (TEXTREL) 0x0
0x6ffffffe (VERNEED) 0x1cc
0x6fffffff (VERNEEDNUM) 1
0x6ffffff0 (VERSYM) 0x1c0
0x6ffffffa (RELCOUNT) 1
0x00000000 (NULL) 0x0
Section de réadressage '.rel.dyn' à l'adresse de décalage 0x1ec contient 2 entrées :
Décalage Info Type Val.-sym Noms-symboles
000001fc 00000008 R_386_RELATIVE
000012a4 00000101 R_386_32 00000000 stdin@GLIBC_2.0
Pas d'information de déroulement spécifique au processeur à décoder
La table de symboles « .dynsym » contient 6 entrées :
Num: Valeur Tail Type Lien Vis Ndx Nom
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 OBJECT GLOBAL DEFAULT UND stdin@GLIBC_2.0 (2)
2: 000001fc 4 OBJECT GLOBAL DEFAULT 8 foo
3: 000012a8 0 NOTYPE GLOBAL DEFAULT ABS _end
4: 000012a8 0 NOTYPE GLOBAL DEFAULT ABS _edata
5: 000012a8 0 NOTYPE GLOBAL DEFAULT ABS __bss_start
Histogramme de la longueur de la liste des baquets « .gnu.hash » (total de 3 baquets) :
Long. Nombre % de couverture totale
0 1 ( 33.3%)
1 1 ( 33.3%) 25.0%
2 0 ( 0.0%) 25.0%
3 1 ( 33.3%) 100.0%
La section des symboles de version « .gnu.version » contient 6 entrées :
Adr: 0x00000000000001c0 Décalage: 0x000001c0 Lien: 3 (.dynsym)
000: 0 (*local*) 2 (GLIBC_2.0) 1 (*global*) 1 (*global*)
004: 1 (*global*) 1 (*global*)
La section de dépendances de version « .gnu.version_r » contient 1 entrée :
Adr: 0x00000000000001cc Décalage: 0x000001cc Lien: 4 (.dynstr)
000000: Version: 1 Fichier: libc.so.6 Compteur: 1
0x0010: Nom: GLIBC_2.0 Fanions: aucun Version: 2
Affichage des notes trouvées dans: .note.gnu.build-id
Propriétaire Taille des données Description
GNU 0x00000014 NT_GNU_BUILD_ID (chaîne de bits du ID de construction unique)
ID construction: 19dc6694d07e4818afa5c726581fdc35666b4330