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.
 
 
 
 
 
 

185 lines
10 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: EXEC (fichier exécutable)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Adresse du point d'entrée: 0x4003d0
Début des en-têtes de programme : 64 (octets dans le fichier)
Début des en-têtes de section : 2456 (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: 8
Taille des en-têtes de section: 64 (octets)
Nombre d'en-têtes de section: 29
Table d'index des chaînes d'en-tête de section: 28
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] .interp PROGBITS 0000000000400200 00000200
000000000000001c 0000000000000000 A 0 0 1
[ 2] .note.ABI-tag NOTE 000000000040021c 0000021c
0000000000000020 0000000000000000 A 0 0 4
[ 3] .note.gnu.bu[...] NOTE 000000000040023c 0000023c
0000000000000024 0000000000000000 A 0 0 4
[ 4] .gnu.hash GNU_HASH 0000000000400260 00000260
0000000000000024 0000000000000000 A 5 0 8
[ 5] .dynsym DYNSYM 0000000000400288 00000288
0000000000000060 0000000000000018 A 6 1 8
[ 6] .dynstr STRTAB 00000000004002e8 000002e8
000000000000003e 0000000000000000 A 0 0 1
[ 7] .gnu.version VERSYM 0000000000400326 00000326
0000000000000008 0000000000000002 A 5 0 2
[ 8] .gnu.version_r VERNEED 0000000000400330 00000330
0000000000000020 0000000000000000 A 6 1 8
[ 9] .rela.dyn RELA 0000000000400350 00000350
0000000000000030 0000000000000018 A 5 0 8
[10] .rela.plt RELA 0000000000400380 00000380
0000000000000018 0000000000000018 A 5 12 8
[11] .init PROGBITS 0000000000400398 00000398
0000000000000018 0000000000000000 AX 0 0 4
[12] .plt PROGBITS 00000000004003b0 000003b0
0000000000000020 0000000000000010 AX 0 0 4
[13] .text PROGBITS 00000000004003d0 000003d0
00000000000001d8 0000000000000000 AX 0 0 16
[14] .fini PROGBITS 00000000004005a8 000005a8
000000000000000e 0000000000000000 AX 0 0 4
[15] .rodata PROGBITS 00000000004005b8 000005b8
0000000000000010 0000000000000000 A 0 0 8
[16] .eh_frame_hdr PROGBITS 00000000004005c8 000005c8
0000000000000024 0000000000000000 A 0 0 4
[17] .eh_frame PROGBITS 00000000004005f0 000005f0
000000000000007c 0000000000000000 A 0 0 8
[18] .ctors PROGBITS 0000000000600670 00000670
0000000000000010 0000000000000000 WA 0 0 8
[19] .dtors PROGBITS 0000000000600680 00000680
0000000000000010 0000000000000000 WA 0 0 8
[20] .jcr PROGBITS 0000000000600690 00000690
0000000000000008 0000000000000000 WA 0 0 8
[21] .dynamic DYNAMIC 0000000000600698 00000698
0000000000000190 0000000000000010 WA 6 0 8
[22] .got PROGBITS 0000000000600828 00000828
0000000000000008 0000000000000008 WA 0 0 8
[23] .got.plt PROGBITS 0000000000600830 00000830
0000000000000020 0000000000000008 WA 0 0 8
[24] .data PROGBITS 0000000000600850 00000850
0000000000000004 0000000000000000 WA 0 0 4
[25] .bss NOBITS 0000000000600858 00000854
0000000000000018 0000000000000000 WA 0 0 8
[26] .comment PROGBITS 0000000000000000 00000854
000000000000002c 0000000000000001 MS 0 0 1
[27] .gnu_debuglink PROGBITS 0000000000000000 00000880
0000000000000018 0000000000000000 0 0 4
[28] .shstrtab STRTAB 0000000000000000 00000898
00000000000000fd 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
PHDR 0x0000000000000040 0x0000000000400040 0x0000000000400040
0x00000000000001c0 0x00000000000001c0 R E 0x8
INTERP 0x0000000000000200 0x0000000000400200 0x0000000000400200
0x000000000000001c 0x000000000000001c R 0x1
[Réquisition de l'interpréteur de programme: /lib64/ld-linux-x86-64.so.2]
LOAD 0x0000000000000000 0x0000000000400000 0x0000000000400000
0x000000000000066c 0x000000000000066c R E 0x200000
LOAD 0x0000000000000670 0x0000000000600670 0x0000000000600670
0x00000000000001e4 0x0000000000000200 RW 0x200000
DYNAMIC 0x0000000000000698 0x0000000000600698 0x0000000000600698
0x0000000000000190 0x0000000000000190 RW 0x8
NOTE 0x000000000000021c 0x000000000040021c 0x000000000040021c
0x0000000000000044 0x0000000000000044 R 0x4
GNU_EH_FRAME 0x00000000000005c8 0x00000000004005c8 0x00000000004005c8
0x0000000000000024 0x0000000000000024 R 0x4
GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RW 0x8
Correspondance section/segment :
Sections de segment...
00
01 .interp
02 .interp .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.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 0x698 contains 20 entries:
Étiquettes Type Nom/Valeur
0x0000000000000001 (NEEDED) Bibliothèque partagée : [libc.so.6]
0x000000000000000c (INIT) 0x400398
0x000000000000000d (FINI) 0x4005a8
0x000000006ffffef5 (GNU_HASH) 0x400260
0x0000000000000005 (STRTAB) 0x4002e8
0x0000000000000006 (SYMTAB) 0x400288
0x000000000000000a (STRSZ) 62 (octets)
0x000000000000000b (SYMENT) 24 (octets)
0x0000000000000015 (DEBUG) 0x0
0x0000000000000003 (PLTGOT) 0x600830
0x0000000000000002 (PLTRELSZ) 24 (octets)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0x400380
0x0000000000000007 (RELA) 0x400350
0x0000000000000008 (RELASZ) 48 (octets)
0x0000000000000009 (RELAENT) 24 (octets)
0x000000006ffffffe (VERNEED) 0x400330
0x000000006fffffff (VERNEEDNUM) 1
0x000000006ffffff0 (VERSYM) 0x400326
0x0000000000000000 (NULL) 0x0
Section de réadressage '.rela.dyn' à l'adresse de décalage 0x350 contient 2 entrées :
Décalage Info Type Val.-symboles Noms-symb.+ Addenda
000000600828 000100000006 R_X86_64_GLOB_DAT 0000000000000000 __gmon_start__ + 0
000000600858 000300000005 R_X86_64_COPY 0000000000600858 stdin@GLIBC_2.2.5 + 0
Section de réadressage '.rela.plt' à l'adresse de décalage 0x380 contient 1 entrée :
Décalage Info Type Val.-symboles Noms-symb.+ Addenda
000000600848 000200000007 R_X86_64_JUMP_SLO 0000000000000000 __libc_start_main@GLIBC_2.2.5 + 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: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
1: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
2: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (2)
3: 0000000000600858 8 OBJECT GLOBAL DEFAULT 25 stdin@GLIBC_2.2.5 (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 1 ( 50.0%) 100.0%
La section des symboles de version « .gnu.version » contient 4 entrées :
Adr: 0x0000000000400326 Décalage: 0x00000326 Lien: 5 (.dynsym)
000: 0 (*local*) 0 (*local*) 2 (GLIBC_2.2.5) 2 (GLIBC_2.2.5)
La section de dépendances de version « .gnu.version_r » contient 1 entrée :
Adr: 0x0000000000400330 Décalage: 0x00000330 Lien: 6 (.dynstr)
000000: Version: 1 Fichier: libc.so.6 Compteur: 1
0x0010: Nom: GLIBC_2.2.5 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: f1f565b266517be06da1331c0aa50f258784f624