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.

187 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: 0x8048300
Début des en-têtes de programme : 52 (octets dans le fichier)
Début des en-têtes de section : 3728 (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: 33
Table d'index des chaînes d'en-tête de section: 32
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 08048134 000134 000013 00 A 0 0 1
[ 2] .note.ABI-tag NOTE 08048148 000148 000020 00 A 0 0 4
[ 3] .note.gnu.bu[...] NOTE 08048168 000168 000024 00 A 0 0 4
[ 4] .gnu.hash GNU_HASH 0804818c 00018c 000024 04 A 5 0 4
[ 5] .dynsym DYNSYM 080481b0 0001b0 000050 10 A 27 1 4
[ 6] .gnu.liblist GNU_LIBLIST 08048200 000200 000028 14 A 27 0 4
[ 7] .gnu.version VERSYM 0804824c 00024c 00000a 02 A 5 0 2
[ 8] .gnu.version_r VERNEED 08048258 000258 000020 00 A 27 1 4
[ 9] .rel.dyn REL 08048278 000278 000010 08 A 5 0 4
[10] .rel.plt REL 08048288 000288 000010 08 A 5 12 4
[11] .init PROGBITS 08048298 000298 000030 00 AX 0 0 4
[12] .plt PROGBITS 080482c8 0002c8 000030 04 AX 0 0 4
[13] .text PROGBITS 08048300 000300 00016c 00 AX 0 0 16
[14] .fini PROGBITS 0804846c 00046c 00001c 00 AX 0 0 4
[15] .rodata PROGBITS 08048488 000488 00000c 00 A 0 0 4
[16] .eh_frame_hdr PROGBITS 08048494 000494 000024 00 A 0 0 4
[17] .eh_frame PROGBITS 080484b8 0004b8 00007c 00 A 0 0 4
[18] .ctors PROGBITS 08049534 000534 000008 00 WA 0 0 4
[19] .dtors PROGBITS 0804953c 00053c 000008 00 WA 0 0 4
[20] .jcr PROGBITS 08049544 000544 000004 00 WA 0 0 4
[21] .dynamic DYNAMIC 08049548 000548 0000c8 08 WA 27 0 4
[22] .got PROGBITS 08049610 000610 000004 04 WA 0 0 4
[23] .got.plt PROGBITS 08049614 000614 000014 04 WA 0 0 4
[24] .data PROGBITS 08049628 000628 000004 00 WA 0 0 4
[25] .dynbss PROGBITS 0804962c 00062c 000004 00 WA 0 0 4
[26] .bss PROGBITS 08049630 000630 000008 00 WA 0 0 4
[27] .dynstr STRTAB 08049638 000638 00005e 00 A 0 0 1
[28] .gnu.conflict RELA 08049698 000698 0000f0 0c A 5 0 4
[29] .comment PROGBITS 00000000 000788 00002c 01 MS 0 0 1
[30] .gnu_debuglink PROGBITS 00000000 0007b4 000018 00 0 0 4
[31] .gnu.prelink_undo PROGBITS 00000000 0007cc 000594 01 0 0 4
[32] .shstrtab STRTAB 00000000 000d60 000130 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 0x08048034 0x08048034 0x00100 0x00100 R E 0x4
INTERP 0x000134 0x08048134 0x08048134 0x00013 0x00013 R 0x1
[Réquisition de l'interpréteur de programme: /lib/ld-linux.so.2]
LOAD 0x000000 0x08048000 0x08048000 0x00534 0x00534 R E 0x1000
LOAD 0x000534 0x08049534 0x08049534 0x00254 0x00254 RW 0x1000
DYNAMIC 0x000548 0x08049548 0x08049548 0x000c8 0x000c8 RW 0x4
NOTE 0x000148 0x08048148 0x08048148 0x00044 0x00044 R 0x4
GNU_EH_FRAME 0x000494 0x08048494 0x08048494 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 .gnu.hash .dynsym .gnu.liblist .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 .dynbss .bss .dynstr .gnu.conflict
04 .dynamic
05 .note.ABI-tag .note.gnu.build-id
06 .eh_frame_hdr
07
Dynamic section at offset 0x548 contains 24 entries:
Étiquettes Type Nom/Valeur
0x00000001 (NEEDED) Bibliothèque partagée : [libc.so.6]
0x0000000c (INIT) 0x8048298
0x0000000d (FINI) 0x804846c
0x6ffffef5 (GNU_HASH) 0x804818c
0x00000005 (STRTAB) 0x8049638
0x00000006 (SYMTAB) 0x80481b0
0x0000000a (STRSZ) 75 (octets)
0x0000000b (SYMENT) 16 (octets)
0x00000015 (DEBUG) 0x0
0x00000003 (PLTGOT) 0x8049614
0x00000002 (PLTRELSZ) 16 (octets)
0x00000014 (PLTREL) REL
0x00000017 (JMPREL) 0x8048288
0x00000011 (REL) 0x8048278
0x00000012 (RELSZ) 16 (octets)
0x00000013 (RELENT) 8 (octets)
0x6ffffffe (VERNEED) 0x8048258
0x6fffffff (VERNEEDNUM) 1
0x6ffffff0 (VERSYM) 0x804824c
0x6ffffef9 (GNU_LIBLIST) 0x8048200
0x6ffffdf7 (GNU_LIBLISTSZ) 40 (octets)
0x6ffffef8 (GNU_CONFLICT) 0x8049698
0x6ffffdf6 (GNU_CONFLICTSZ) 240 (octets)
0x00000000 (NULL) 0x0
Section de réadressage '.rel.dyn' à l'adresse de décalage 0x278 contient 2 entrées :
Décalage Info Type Val.-sym Noms-symboles
08049610 00000106 R_386_GLOB_DAT 00000000 __gmon_start__
0804962c 00000405 R_386_COPY 0804962c stdin@GLIBC_2.0
Section de réadressage '.rel.plt' à l'adresse de décalage 0x288 contient 2 entrées :
Décalage Info Type Val.-sym Noms-symboles
08049620 00000107 R_386_JUMP_SLOT 00000000 __gmon_start__
08049624 00000207 R_386_JUMP_SLOT 00000000 __libc_start_main@GLIBC_2.0
Section de réadressage '.gnu.conflict' à l'adresse de décalage 0x698 contient 20 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 804848c
4718cf28 00000001 R_386_32 -2c
4718cf2c 00000001 R_386_32 -30
4718cf70 00000001 R_386_32 -c
4718cf98 00000001 R_386_32 804962c
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
Pas d'information de déroulement spécifique au processeur à décoder
La table de symboles « .dynsym » contient 5 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: 0804848c 4 OBJECT GLOBAL DEFAULT 15 _IO_stdin_used
4: 0804962c 4 OBJECT GLOBAL DEFAULT 26 stdin@GLIBC_2.0 (2)
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 0 ( 0.0%) 0.0%
2 1 ( 50.0%) 100.0%
La section des symboles de version « .gnu.version » contient 5 entrées :
Adr: 0x000000000804824c Décalage: 0x0000024c Lien: 5 (.dynsym)
000: 0 (*local*) 0 (*local*) 2 (GLIBC_2.0) 1 (*global*)
004: 2 (GLIBC_2.0)
La section de dépendances de version « .gnu.version_r » contient 1 entrée :
Adr: 0x0000000008048258 Décalage: 0x00000258 Lien: 27 (.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: 09df817a576885698c3a22c07e53f7b35a1a7e20
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