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.
 
 
 
 
 
 

200 lines
12 KiB

En-tête ELF:
Magique: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Classe: ELF64
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: Advanced Micro Devices X86-64
Version: 0x1
Adresse du point d'entrée: 0x900
Début des en-têtes de programme : 64 (octets dans le fichier)
Début des en-têtes de section : 3680 (octets dans le fichier)
Fanions: 0x0
Taille de cet en-tête: 64 (octets)
Taille de l'en-tête du programme: 56 (octets)
Nombre d'en-tête du programme: 5
Taille des en-têtes de section: 64 (octets)
Nombre d'en-têtes de section: 24
Table d'index des chaînes d'en-tête de section: 23
En-têtes de section :
[Nr] Nom Type Adresse Décalage
Taille TaillEntrée Fanion Lien Info Alignement
[ 0] NULL 0000000000000000 00000000
0000000000000000 0000000000000000 0 0 0
[ 1] .hash HASH 0000000000000158 00000158
0000000000000128 0000000000000004 A 2 0 8
[ 2] .dynsym DYNSYM 00000000000002a0 000002a0
0000000000000348 0000000000000018 A 3 23 8
[ 3] .dynstr STRTAB 00000000000006a8 000006a8
0000000000000095 0000000000000000 A 0 0 1
[ 4] .gnu.version VERSYM 000000000000073e 0000073e
0000000000000046 0000000000000002 A 2 0 2
[ 5] .gnu.version_r VERNEED 0000000000000798 00000798
0000000000000020 0000000000000000 A 3 1 8
[ 6] .rela.dyn RELA 00000000000007b8 000007b8
0000000000000078 0000000000000018 A 2 0 8
[ 7] .rela.plt RELA 0000000000000830 00000830
0000000000000048 0000000000000018 A 2 20 8
[ 8] .init PROGBITS 0000000000000878 00000878
0000000000000018 0000000000000000 AX 0 0 4
[ 9] .plt PROGBITS 0000000000000890 00000890
0000000000000040 0000000000000010 AX 0 0 4
[10] .text PROGBITS 0000000000000900 00000900
0000000000000128 0000000000000000 AX 0 0 64
[11] .fini PROGBITS 0000000000000a28 00000a28
000000000000000e 0000000000000000 AX 0 0 4
[12] .rodata PROGBITS 0000000000000a36 00000a36
0000000000000006 0000000000000000 A 0 0 1
[13] .eh_frame_hdr PROGBITS 0000000000000a3c 00000a3c
0000000000000014 0000000000000000 A 0 0 4
[14] .eh_frame PROGBITS 0000000000000a50 00000a50
0000000000000060 0000000000000000 A 0 0 8
[15] .data PROGBITS 0000000000100ab0 00000ab0
0000000000000010 0000000000000000 WA 0 0 8
[16] .dynamic DYNAMIC 0000000000100ac0 00000ac0
0000000000000180 0000000000000010 WA 3 0 8
[17] .ctors PROGBITS 0000000000100c40 00000c40
0000000000000010 0000000000000000 WA 0 0 8
[18] .dtors PROGBITS 0000000000100c50 00000c50
0000000000000010 0000000000000000 WA 0 0 8
[19] .jcr PROGBITS 0000000000100c60 00000c60
0000000000000008 0000000000000000 WA 0 0 8
[20] .got PROGBITS 0000000000100c68 00000c68
0000000000000048 0000000000000008 WA 0 0 8
[21] .bss NOBITS 0000000000100cb0 00000cb0
0000000000000008 0000000000000000 WA 0 0 4
[22] .comment PROGBITS 0000000000000000 00000cb0
00000000000000f6 0000000000000000 0 0 1
[23] .shstrtab STRTAB 0000000000000000 00000da6
00000000000000b8 0000000000000000 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), l (grand), p (processor specific)
Il n'y a pas de groupe de section dans ce fichier.
En-têtes de programme :
Type Décalage Adr.virt Adr.phys.
Taille fichier Taille mémoire Fanion Alignement
LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000ab0 0x0000000000000ab0 R E 0x100000
LOAD 0x0000000000000ab0 0x0000000000100ab0 0x0000000000100ab0
0x0000000000000200 0x0000000000000208 RW 0x100000
DYNAMIC 0x0000000000000ac0 0x0000000000100ac0 0x0000000000100ac0
0x0000000000000180 0x0000000000000180 RW 0x8
GNU_EH_FRAME 0x0000000000000a3c 0x0000000000000a3c 0x0000000000000a3c
0x0000000000000014 0x0000000000000014 R 0x4
GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RWE 0x8
Correspondance section/segment :
Sections de segment...
00 .hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .plt .text .fini .rodata .eh_frame_hdr .eh_frame
01 .data .dynamic .ctors .dtors .jcr .got .bss
02 .dynamic
03 .eh_frame_hdr
04
Dynamic section at offset 0xac0 contains 20 entries:
Étiquettes Type Nom/Valeur
0x0000000000000001 (NEEDED) Bibliothèque partagée : [libc.so.6]
0x000000000000000c (INIT) 0x878
0x000000000000000d (FINI) 0xa28
0x0000000000000004 (HASH) 0x158
0x0000000000000005 (STRTAB) 0x6a8
0x0000000000000006 (SYMTAB) 0x2a0
0x000000000000000a (STRSZ) 149 (octets)
0x000000000000000b (SYMENT) 24 (octets)
0x0000000000000003 (PLTGOT) 0x100c68
0x0000000000000002 (PLTRELSZ) 72 (octets)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0x830
0x0000000000000007 (RELA) 0x7b8
0x0000000000000008 (RELASZ) 120 (octets)
0x0000000000000009 (RELAENT) 24 (octets)
0x000000006ffffffe (VERNEED) 0x798
0x000000006fffffff (VERNEEDNUM) 1
0x000000006ffffff0 (VERSYM) 0x73e
0x000000006ffffff9 (RELACOUNT) 2
0x0000000000000000 (NULL) 0x0
Section de réadressage '.rela.dyn' à l'adresse de décalage 0x7b8 contient 5 entrées :
Décalage Info Type Val.-symboles Noms-symb.+ Addenda
000000100ab0 000000000008 R_X86_64_RELATIVE 100ab0
000000100ab8 000000000008 R_X86_64_RELATIVE 100c58
000000100c98 001a00000006 R_X86_64_GLOB_DAT 0000000000000000 __cxa_finalize@GLIBC_2.2.5 + 0
000000100ca0 002100000006 R_X86_64_GLOB_DAT 0000000000000000 _Jv_RegisterClasses + 0
000000100ca8 002200000006 R_X86_64_GLOB_DAT 0000000000000000 __gmon_start__ + 0
Section de réadressage '.rela.plt' à l'adresse de décalage 0x830 contient 3 entrées :
Décalage Info Type Val.-symboles Noms-symb.+ Addenda
000000100c80 001a00000007 R_X86_64_JUMP_SLO 0000000000000000 __cxa_finalize@GLIBC_2.2.5 + 0
000000100c88 002000000007 R_X86_64_JUMP_SLO 0000000000000000 puts@GLIBC_2.2.5 + 0
000000100c90 002100000007 R_X86_64_JUMP_SLO 0000000000000000 _Jv_RegisterClasses + 0
Pas d'information de déroulement spécifique au processeur à décoder
La table de symboles « .dynsym » contient 35 entrées :
Num: Valeur Tail Type Lien Vis Ndx Nom
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
1: 0000000000000158 0 SECTION LOCAL DEFAULT 1 .hash
2: 00000000000002a0 0 SECTION LOCAL DEFAULT 2 .dynsym
3: 00000000000006a8 0 SECTION LOCAL DEFAULT 3 .dynstr
4: 000000000000073e 0 SECTION LOCAL DEFAULT 4 .gnu.version
5: 0000000000000798 0 SECTION LOCAL DEFAULT 5 .gnu.version_r
6: 00000000000007b8 0 SECTION LOCAL DEFAULT 6 .rela.dyn
7: 0000000000000830 0 SECTION LOCAL DEFAULT 7 .rela.plt
8: 0000000000000878 0 SECTION LOCAL DEFAULT 8 .init
9: 0000000000000890 0 SECTION LOCAL DEFAULT 9 .plt
10: 0000000000000900 0 SECTION LOCAL DEFAULT 10 .text
11: 0000000000000a28 0 SECTION LOCAL DEFAULT 11 .fini
12: 0000000000000a36 0 SECTION LOCAL DEFAULT 12 .rodata
13: 0000000000000a3c 0 SECTION LOCAL DEFAULT 13 .eh_frame_hdr
14: 0000000000000a50 0 SECTION LOCAL DEFAULT 14 .eh_frame
15: 0000000000100ab0 0 SECTION LOCAL DEFAULT 15 .data
16: 0000000000100ac0 0 SECTION LOCAL DEFAULT 16 .dynamic
17: 0000000000100c40 0 SECTION LOCAL DEFAULT 17 .ctors
18: 0000000000100c50 0 SECTION LOCAL DEFAULT 18 .dtors
19: 0000000000100c60 0 SECTION LOCAL DEFAULT 19 .jcr
20: 0000000000100c68 0 SECTION LOCAL DEFAULT 20 .got
21: 0000000000100cb0 0 SECTION LOCAL DEFAULT 21 .bss
22: 0000000000000000 0 SECTION LOCAL DEFAULT 22 .comment
23: 0000000000100ac0 384 OBJECT GLOBAL DEFAULT ABS _DYNAMIC
24: 0000000000000878 0 FUNC GLOBAL DEFAULT 8 _init
25: 0000000000100cb0 0 NOTYPE GLOBAL DEFAULT ABS __bss_start
26: 0000000000000000 153 FUNC WEAK DEFAULT UND [...]@GLIBC_2.2.5 (2)
27: 0000000000000a28 0 FUNC GLOBAL DEFAULT 11 _fini
28: 00000000000009d0 23 FUNC GLOBAL DEFAULT 10 foo
29: 0000000000100cb0 0 NOTYPE GLOBAL DEFAULT ABS _edata
30: 0000000000100c68 72 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
31: 0000000000100cb8 0 NOTYPE GLOBAL DEFAULT ABS _end
32: 0000000000000000 290 FUNC GLOBAL DEFAULT UND puts@GLIBC_2.2.5 (2)
33: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses
34: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
Histogramme de la longueur de la liste des baquets (total de 37 baquets) :
Long. Nombre % de couverture totale
0 27 ( 73.0%)
1 8 ( 21.6%) 66.7%
2 2 ( 5.4%) 100.0%
La section des symboles de version « .gnu.version » contient 35 entrées :
Adr: 0x000000000000073e Décalage: 0x0000073e Lien: 2 (.dynsym)
000: 0 (*local*) 0 (*local*) 0 (*local*) 0 (*local*)
004: 0 (*local*) 0 (*local*) 0 (*local*) 0 (*local*)
008: 0 (*local*) 0 (*local*) 0 (*local*) 0 (*local*)
00c: 0 (*local*) 0 (*local*) 0 (*local*) 0 (*local*)
010: 0 (*local*) 0 (*local*) 0 (*local*) 0 (*local*)
014: 0 (*local*) 0 (*local*) 0 (*local*) 1 (*global*)
018: 1 (*global*) 1 (*global*) 2 (GLIBC_2.2.5) 1 (*global*)
01c: 1 (*global*) 1 (*global*) 1 (*global*) 1 (*global*)
020: 2 (GLIBC_2.2.5) 0 (*local*) 0 (*local*)
La section de dépendances de version « .gnu.version_r » contient 1 entrée :
Adr: 0x0000000000000798 Décalage: 0x00000798 Lien: 3 (.dynstr)
000000: Version: 1 Fichier: libc.so.6 Compteur: 1
0x0010: Nom: GLIBC_2.2.5 Fanions: aucun Version: 2