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.

181 lines
10 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: EXEC (fichier exécutable)
Machine: Intel 80386
Version: 0x1
Adresse du point d'entrée: 0x80482e0
Début des en-têtes de programme : 52 (octets dans le fichier)
Début des en-têtes de section : 7420 (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: 8
Taille des en-têtes de section: 40 (octets)
Nombre d'en-têtes de section: 32
Table d'index des chaînes d'en-tête de section: 31
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] .interp PROGBITS 08047134 000134 000013 00 A 0 0 1
[ 2] .note.ABI-tag NOTE 08047148 000148 000020 00 A 0 0 4
[ 3] .note.gnu.bu[...] NOTE 08047168 000168 000024 00 A 0 0 4
[ 4] .dynstr STRTAB 0804718c 00018c 000058 00 A 0 0 1
[ 5] .gnu.liblist GNU_LIBLIST 080471e4 0001e4 000028 14 A 4 0 4
[ 6] .gnu.conflict RELA 0804720c 00020c 0000e4 0c A 8 0 4
[ 7] .gnu.hash GNU_HASH 0804818c 00118c 000020 04 A 8 0 4
[ 8] .dynsym DYNSYM 080481ac 0011ac 000040 10 A 4 1 4
[ 9] .gnu.version VERSYM 08048232 001232 000008 02 A 8 0 2
[10] .gnu.version_r VERNEED 0804823c 00123c 000020 00 A 4 1 4
[11] .rel.dyn REL 0804825c 00125c 000008 08 A 8 0 4
[12] .rel.plt REL 08048264 001264 000010 08 A 8 14 4
[13] .init PROGBITS 08048274 001274 000030 00 AX 0 0 4
[14] .plt PROGBITS 080482a4 0012a4 000030 04 AX 0 0 4
[15] .text PROGBITS 080482e0 0012e0 00015c 00 AX 0 0 16
[16] .fini PROGBITS 0804843c 00143c 00001c 00 AX 0 0 4
[17] .rodata PROGBITS 08048458 001458 00000c 00 A 0 0 4
[18] .eh_frame_hdr PROGBITS 08048464 001464 000024 00 A 0 0 4
[19] .eh_frame PROGBITS 08048488 001488 00007c 00 A 0 0 4
[20] .ctors PROGBITS 08049504 001504 000008 00 WA 0 0 4
[21] .dtors PROGBITS 0804950c 00150c 000008 00 WA 0 0 4
[22] .jcr PROGBITS 08049514 001514 000004 00 WA 0 0 4
[23] .dynamic DYNAMIC 08049518 001518 0000c8 08 WA 4 0 4
[24] .got PROGBITS 080495e0 0015e0 000004 04 WA 0 0 4
[25] .got.plt PROGBITS 080495e4 0015e4 000014 04 WA 0 0 4
[26] .data PROGBITS 080495f8 0015f8 000004 00 WA 0 0 4
[27] .bss NOBITS 08049600 0015fc 001020 00 WA 0 0 32
[28] .comment PROGBITS 00000000 0015fc 00002c 01 MS 0 0 1
[29] .gnu_debuglink PROGBITS 00000000 001628 000018 00 0 0 4
[30] .gnu.prelink_undo PROGBITS 00000000 001640 000594 01 0 0 4
[31] .shstrtab STRTAB 00000000 001bd4 000128 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
PHDR 0x000034 0x08047034 0x08047034 0x00100 0x00100 R E 0x4
INTERP 0x000134 0x08047134 0x08047134 0x00013 0x00013 R 0x1
[Réquisition de l'interpréteur de programme: /lib/ld-linux.so.2]
LOAD 0x000000 0x08047000 0x08047000 0x01504 0x01504 R E 0x1000
LOAD 0x001504 0x08049504 0x08049504 0x000f8 0x0111c RW 0x1000
DYNAMIC 0x001518 0x08049518 0x08049518 0x000c8 0x000c8 RW 0x4
NOTE 0x000148 0x08047148 0x08047148 0x00044 0x00044 R 0x4
GNU_EH_FRAME 0x001464 0x08048464 0x08048464 0x00024 0x00024 R 0x4
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4
Correspondance section/segment :
Sections de segment...
00
01 .interp
02 .interp .note.ABI-tag .note.gnu.build-id .dynstr .gnu.liblist .gnu.conflict .gnu.hash .dynsym .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata .eh_frame_hdr .eh_frame
03 .ctors .dtors .jcr .dynamic .got .got.plt .data .bss
04 .dynamic
05 .note.ABI-tag .note.gnu.build-id
06 .eh_frame_hdr
07
Dynamic section at offset 0x1518 contains 24 entries:
Étiquettes Type Nom/Valeur
0x00000001 (NEEDED) Bibliothèque partagée : [libc.so.6]
0x0000000c (INIT) 0x8048274
0x0000000d (FINI) 0x804843c
0x6ffffef5 (GNU_HASH) 0x804818c
0x00000005 (STRTAB) 0x804718c
0x00000006 (SYMTAB) 0x80481ac
0x0000000a (STRSZ) 69 (octets)
0x0000000b (SYMENT) 16 (octets)
0x00000015 (DEBUG) 0x0
0x00000003 (PLTGOT) 0x80495e4
0x00000002 (PLTRELSZ) 16 (octets)
0x00000014 (PLTREL) REL
0x00000017 (JMPREL) 0x8048264
0x00000011 (REL) 0x804825c
0x00000012 (RELSZ) 8 (octets)
0x00000013 (RELENT) 8 (octets)
0x6ffffffe (VERNEED) 0x804823c
0x6fffffff (VERNEEDNUM) 1
0x6ffffff0 (VERSYM) 0x8048232
0x6ffffef9 (GNU_LIBLIST) 0x80471e4
0x6ffffdf7 (GNU_LIBLISTSZ) 40 (octets)
0x6ffffef8 (GNU_CONFLICT) 0x804720c
0x6ffffdf6 (GNU_CONFLICTSZ) 228 (octets)
0x00000000 (NULL) 0x0
Section de réadressage '.gnu.conflict' à l'adresse de décalage 0x20c contient 19 entrées :
Décalage Info Type Val.-sym Noms-symb + Addenda
4718ce74 00000001 R_386_32 -28
4718ce78 00000001 R_386_32 1
4718ce80 00000001 R_386_32 1
4718ce88 00000001 R_386_32 -4
4718ce98 00000001 R_386_32 -3c
4718cea0 00000001 R_386_32 -34
4718cef4 00000001 R_386_32 804845c
4718cf28 00000001 R_386_32 -2c
4718cf2c 00000001 R_386_32 -30
4718cf70 00000001 R_386_32 -c
4718cfa0 00000001 R_386_32 -40
4718cfa8 00000001 R_386_32 -8
4718cfc8 00000001 R_386_32 -38
46ff9fc8 00000007 R_386_JUMP_SLOT 470731e0
46ff9fcc 00000007 R_386_JUMP_SLOT 47072740
46ff9fd0 00000007 R_386_JUMP_SLOT 47073a40
46ff9fd4 00000007 R_386_JUMP_SLOT 47072e90
46ff9fdc 00000007 R_386_JUMP_SLOT 47072d00
46ff9fe8 00000001 R_386_32 47072d00
Section de réadressage '.rel.dyn' à l'adresse de décalage 0x125c contient 1 entrée :
Décalage Info Type Val.-sym Noms-symboles
080495e0 00000106 R_386_GLOB_DAT 00000000 __gmon_start__
Section de réadressage '.rel.plt' à l'adresse de décalage 0x1264 contient 2 entrées :
Décalage Info Type Val.-sym Noms-symboles
080495f0 00000107 R_386_JUMP_SLOT 00000000 __gmon_start__
080495f4 00000207 R_386_JUMP_SLOT 00000000 __libc_start_main@GLIBC_2.0
Pas d'information de déroulement spécifique au processeur à décoder
La table de symboles « .dynsym » contient 4 entrées :
Num: Valeur Tail Type Lien Vis Ndx Nom
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
2: 00000000 0 FUNC GLOBAL DEFAULT UND __[...]@GLIBC_2.0 (2)
3: 0804845c 4 OBJECT GLOBAL DEFAULT 17 _IO_stdin_used
Histogramme de la longueur de la liste des baquets « .gnu.hash » (total de 2 baquets) :
Long. Nombre % de couverture totale
0 1 ( 50.0%)
1 1 ( 50.0%) 100.0%
La section des symboles de version « .gnu.version » contient 4 entrées :
Adr: 0x0000000008048232 Décalage: 0x00001232 Lien: 8 (.dynsym)
000: 0 (*local*) 0 (*local*) 2 (GLIBC_2.0) 1 (*global*)
La section de dépendances de version « .gnu.version_r » contient 1 entrée :
Adr: 0x000000000804823c Décalage: 0x0000123c 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.ABI-tag
Propriétaire Taille des données Description
GNU 0x00000010 NT_GNU_ABI_TAG (étiquette de version ABI)
OS: Linux, ABI: 2.6.32
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: 990cccea9b7ff5fc4d8a528e2dfd259240ac1a3d
La section « .gnu.liblist » de la liste des bibliothèques contient 2 entrées :
Bibliothèque Horodatage Checksum Version Fanions
0: libc.so.6 2011-01-03T11:40:18 0xffb96df3 0 0
1: /lib/ld-linux.so.2 2011-01-03T11:40:18 0x3abe9883 0 0