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.

294 lines
18 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: 0x401080
Début des en-têtes de programme : 64 (octets dans le fichier)
Début des en-têtes de section : 17288 (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: 11
Taille des en-têtes de section: 64 (octets)
Nombre d'en-têtes de section: 39
Table d'index des chaînes d'en-tête de section: 38
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 00000000004002a8 000002a8
000000000000001c 0000000000000000 A 0 0 1
[ 2] .note.ABI-tag NOTE 00000000004002c4 000002c4
0000000000000020 0000000000000000 A 0 0 4
[ 3] .hash HASH 00000000004002e8 000002e8
0000000000000024 0000000000000004 A 5 0 8
[ 4] .gnu.hash GNU_HASH 0000000000400310 00000310
000000000000001c 0000000000000000 A 5 0 8
[ 5] .dynsym DYNSYM 0000000000400330 00000330
0000000000000060 0000000000000018 A 6 1 8
[ 6] .dynstr STRTAB 0000000000400390 00000390
000000000000003d 0000000000000000 A 0 0 1
[ 7] .gnu.version VERSYM 00000000004003ce 000003ce
0000000000000008 0000000000000002 A 5 0 2
[ 8] .gnu.version_r VERNEED 00000000004003d8 000003d8
0000000000000020 0000000000000000 A 6 1 8
[ 9] .rela.dyn RELA 00000000004003f8 000003f8
0000000000000018 0000000000000018 A 5 0 8
[10] .rela.plt RELA 0000000000400410 00000410
0000000000000030 0000000000000018 AI 5 23 8
[11] .init PROGBITS 0000000000401000 00001000
000000000000001a 0000000000000000 AX 0 0 4
[12] .plt PROGBITS 0000000000401020 00001020
0000000000000030 0000000000000010 AX 0 0 16
[13] .plt.got PROGBITS 0000000000401050 00001050
0000000000000008 0000000000000008 AX 0 0 8
[14] .text PROGBITS 0000000000401060 00001060
0000000000000202 0000000000000000 AX 0 0 16
[15] .fini PROGBITS 0000000000401264 00001264
0000000000000009 0000000000000000 AX 0 0 4
[16] .rodata PROGBITS 0000000000402000 00002000
000000000000000a 0000000000000000 A 0 0 4
[17] .eh_frame_hdr PROGBITS 000000000040200c 0000200c
0000000000000054 0000000000000000 A 0 0 4
[18] .eh_frame PROGBITS 0000000000402060 00002060
0000000000000138 0000000000000000 A 0 0 8
[19] .init_array INIT_ARRAY 0000000000403e08 00002e08
0000000000000008 0000000000000008 WA 0 0 8
[20] .fini_array FINI_ARRAY 0000000000403e10 00002e10
0000000000000008 0000000000000008 WA 0 0 8
[21] .dynamic DYNAMIC 0000000000403e18 00002e18
00000000000001e0 0000000000000010 WA 6 0 8
[22] .got PROGBITS 0000000000403ff8 00002ff8
0000000000000008 0000000000000008 WA 0 0 8
[23] .got.plt PROGBITS 0000000000404000 00003000
0000000000000028 0000000000000008 WA 0 0 8
[24] .data PROGBITS 0000000000404028 00003028
0000000000000014 0000000000000000 WA 0 0 8
[25] .bss NOBITS 000000000040403c 0000303c
0000000000000004 0000000000000000 WA 0 0 1
[26] .comment PROGBITS 0000000000000000 0000303c
0000000000000056 0000000000000001 MS 0 0 1
[27] .debug_aranges PROGBITS 0000000000000000 00003092
0000000000000070 0000000000000000 0 0 1
[28] .debug_info PROGBITS 0000000000000000 00003102
0000000000000068 0000000000000000 0 0 1
[29] .debug_abbrev PROGBITS 0000000000000000 0000316a
0000000000000037 0000000000000000 0 0 1
[30] .debug_line PROGBITS 0000000000000000 000031a1
000000000000042a 0000000000000000 0 0 1
[31] .debug_str PROGBITS 0000000000000000 000035cb
0000000000000046 0000000000000001 MS 0 0 1
[32] .debug_ranges PROGBITS 0000000000000000 00003611
0000000000000060 0000000000000000 0 0 1
[33] .debug_addr PROGBITS 0000000000000000 00003671
0000000000000120 0000000000000000 0 0 1
[34] .debug_gnu_p[...] PROGBITS 0000000000000000 00003791
0000000000000065 0000000000000000 0 0 1
[35] .debug_gnu_p[...] PROGBITS 0000000000000000 000037f6
0000000000000147 0000000000000000 0 0 1
[36] .symtab SYMTAB 0000000000000000 00003940
0000000000000708 0000000000000018 37 54 8
[37] .strtab STRTAB 0000000000000000 00004048
00000000000001c8 0000000000000000 0 0 1
[38] .shstrtab STRTAB 0000000000000000 00004210
0000000000000176 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
0x0000000000000268 0x0000000000000268 R 0x8
INTERP 0x00000000000002a8 0x00000000004002a8 0x00000000004002a8
0x000000000000001c 0x000000000000001c R 0x1
[Réquisition de l'interpréteur de programme: /lib64/ld-linux-x86-64.so.2]
LOAD 0x0000000000000000 0x0000000000400000 0x0000000000400000
0x0000000000000440 0x0000000000000440 R 0x1000
LOAD 0x0000000000001000 0x0000000000401000 0x0000000000401000
0x000000000000026d 0x000000000000026d R E 0x1000
LOAD 0x0000000000002000 0x0000000000402000 0x0000000000402000
0x0000000000000198 0x0000000000000198 R 0x1000
LOAD 0x0000000000002e08 0x0000000000403e08 0x0000000000403e08
0x0000000000000234 0x0000000000000238 RW 0x1000
DYNAMIC 0x0000000000002e18 0x0000000000403e18 0x0000000000403e18
0x00000000000001e0 0x00000000000001e0 RW 0x8
NOTE 0x00000000000002c4 0x00000000004002c4 0x00000000004002c4
0x0000000000000020 0x0000000000000020 R 0x4
GNU_EH_FRAME 0x000000000000200c 0x000000000040200c 0x000000000040200c
0x0000000000000054 0x0000000000000054 R 0x4
GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RW 0x10
GNU_RELRO 0x0000000000002e08 0x0000000000403e08 0x0000000000403e08
0x00000000000001f8 0x00000000000001f8 R 0x1
Correspondance section/segment :
Sections de segment...
00
01 .interp
02 .interp .note.ABI-tag .hash .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt
03 .init .plt .plt.got .text .fini
04 .rodata .eh_frame_hdr .eh_frame
05 .init_array .fini_array .dynamic .got .got.plt .data .bss
06 .dynamic
07 .note.ABI-tag
08 .eh_frame_hdr
09
10 .init_array .fini_array .dynamic .got
Dynamic section at offset 0x2e18 contains 25 entries:
Étiquettes Type Nom/Valeur
0x0000000000000001 (NEEDED) Bibliothèque partagée : [libc.so.6]
0x000000000000000c (INIT) 0x401000
0x000000000000000d (FINI) 0x401264
0x0000000000000019 (INIT_ARRAY) 0x403e08
0x000000000000001b (INIT_ARRAYSZ) 8 (octets)
0x000000000000001a (FINI_ARRAY) 0x403e10
0x000000000000001c (FINI_ARRAYSZ) 8 (octets)
0x0000000000000004 (HASH) 0x4002e8
0x000000006ffffef5 (GNU_HASH) 0x400310
0x0000000000000005 (STRTAB) 0x400390
0x0000000000000006 (SYMTAB) 0x400330
0x000000000000000a (STRSZ) 61 (octets)
0x000000000000000b (SYMENT) 24 (octets)
0x0000000000000015 (DEBUG) 0x0
0x0000000000000003 (PLTGOT) 0x404000
0x0000000000000002 (PLTRELSZ) 48 (octets)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0x400410
0x0000000000000007 (RELA) 0x4003f8
0x0000000000000008 (RELASZ) 24 (octets)
0x0000000000000009 (RELAENT) 24 (octets)
0x000000006ffffffe (VERNEED) 0x4003d8
0x000000006fffffff (VERNEEDNUM) 1
0x000000006ffffff0 (VERSYM) 0x4003ce
0x0000000000000000 (NULL) 0x0
Section de réadressage '.rela.dyn' à l'adresse de décalage 0x3f8 contient 1 entrée :
Décalage Info Type Val.-symboles Noms-symb.+ Addenda
000000403ff8 000200000006 R_X86_64_GLOB_DAT 0000000000000000 __gmon_start__ + 0
Section de réadressage '.rela.plt' à l'adresse de décalage 0x410 contient 2 entrées :
Décalage Info Type Val.-symboles Noms-symb.+ Addenda
000000404018 000100000007 R_X86_64_JUMP_SLO 0000000000000000 __libc_start_main@GLIBC_2.2.5 + 0
000000404020 000300000007 R_X86_64_JUMP_SLO 0000000000000000 exit@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 FUNC GLOBAL DEFAULT UND [...]@GLIBC_2.2.5 (2)
2: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
3: 0000000000000000 0 FUNC GLOBAL DEFAULT UND exit@GLIBC_2.2.5 (2)
La table de symboles « .symtab » contient 75 entrées :
Num: Valeur Tail Type Lien Vis Ndx Nom
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000004002a8 0 SECTION LOCAL DEFAULT 1 .interp
2: 00000000004002c4 0 SECTION LOCAL DEFAULT 2 .note.ABI-tag
3: 00000000004002e8 0 SECTION LOCAL DEFAULT 3 .hash
4: 0000000000400310 0 SECTION LOCAL DEFAULT 4 .gnu.hash
5: 0000000000400330 0 SECTION LOCAL DEFAULT 5 .dynsym
6: 0000000000400390 0 SECTION LOCAL DEFAULT 6 .dynstr
7: 00000000004003ce 0 SECTION LOCAL DEFAULT 7 .gnu.version
8: 00000000004003d8 0 SECTION LOCAL DEFAULT 8 .gnu.version_r
9: 00000000004003f8 0 SECTION LOCAL DEFAULT 9 .rela.dyn
10: 0000000000400410 0 SECTION LOCAL DEFAULT 10 .rela.plt
11: 0000000000401000 0 SECTION LOCAL DEFAULT 11 .init
12: 0000000000401020 0 SECTION LOCAL DEFAULT 12 .plt
13: 0000000000401050 0 SECTION LOCAL DEFAULT 13 .plt.got
14: 0000000000401060 0 SECTION LOCAL DEFAULT 14 .text
15: 0000000000401264 0 SECTION LOCAL DEFAULT 15 .fini
16: 0000000000402000 0 SECTION LOCAL DEFAULT 16 .rodata
17: 000000000040200c 0 SECTION LOCAL DEFAULT 17 .eh_frame_hdr
18: 0000000000402060 0 SECTION LOCAL DEFAULT 18 .eh_frame
19: 0000000000403e08 0 SECTION LOCAL DEFAULT 19 .init_array
20: 0000000000403e10 0 SECTION LOCAL DEFAULT 20 .fini_array
21: 0000000000403e18 0 SECTION LOCAL DEFAULT 21 .dynamic
22: 0000000000403ff8 0 SECTION LOCAL DEFAULT 22 .got
23: 0000000000404000 0 SECTION LOCAL DEFAULT 23 .got.plt
24: 0000000000404028 0 SECTION LOCAL DEFAULT 24 .data
25: 000000000040403c 0 SECTION LOCAL DEFAULT 25 .bss
26: 0000000000000000 0 SECTION LOCAL DEFAULT 26 .comment
27: 0000000000000000 0 SECTION LOCAL DEFAULT 27 .debug_aranges
28: 0000000000000000 0 SECTION LOCAL DEFAULT 28 .debug_info
29: 0000000000000000 0 SECTION LOCAL DEFAULT 29 .debug_abbrev
30: 0000000000000000 0 SECTION LOCAL DEFAULT 30 .debug_line
31: 0000000000000000 0 SECTION LOCAL DEFAULT 31 .debug_str
32: 0000000000000000 0 SECTION LOCAL DEFAULT 32 .debug_ranges
33: 0000000000000000 0 SECTION LOCAL DEFAULT 33 .debug_addr
34: 0000000000000000 0 SECTION LOCAL DEFAULT 34 .debug_gnu_pubnames
35: 0000000000000000 0 SECTION LOCAL DEFAULT 35 .debug_gnu_pubtypes
36: 0000000000000000 0 FILE LOCAL DEFAULT ABS world.c
37: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c
38: 00000000004010b0 0 FUNC LOCAL DEFAULT 14 deregister_tm_clones
39: 00000000004010e0 0 FUNC LOCAL DEFAULT 14 register_tm_clones
40: 0000000000401120 0 FUNC LOCAL DEFAULT 14 __do_global_dtors_aux
41: 000000000040403c 1 OBJECT LOCAL DEFAULT 25 completed.7249
42: 0000000000403e10 0 OBJECT LOCAL DEFAULT 20 __do_global_dtor[...]
43: 0000000000401150 0 FUNC LOCAL DEFAULT 14 frame_dummy
44: 0000000000403e08 0 OBJECT LOCAL DEFAULT 19 __frame_dummy_in[...]
45: 0000000000000000 0 FILE LOCAL DEFAULT ABS hello.c
46: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c
47: 0000000000402194 0 OBJECT LOCAL DEFAULT 18 __FRAME_END__
48: 0000000000000000 0 FILE LOCAL DEFAULT ABS
49: 0000000000403e10 0 NOTYPE LOCAL DEFAULT 19 __init_array_end
50: 0000000000403e18 0 OBJECT LOCAL DEFAULT 21 _DYNAMIC
51: 0000000000403e08 0 NOTYPE LOCAL DEFAULT 19 __init_array_start
52: 000000000040200c 0 NOTYPE LOCAL DEFAULT 17 __GNU_EH_FRAME_HDR
53: 0000000000404000 0 OBJECT LOCAL DEFAULT 23 _GLOBAL_OFFSET_TABLE_
54: 0000000000401260 2 FUNC GLOBAL DEFAULT 14 __libc_csu_fini
55: 0000000000404028 0 NOTYPE WEAK DEFAULT 24 data_start
56: 00000000004011a0 17 FUNC GLOBAL DEFAULT 14 baz
57: 000000000040403c 0 NOTYPE GLOBAL DEFAULT 24 _edata
58: 0000000000401264 0 FUNC GLOBAL DEFAULT 15 _fini
59: 00000000004011c0 43 FUNC GLOBAL DEFAULT 14 calc
60: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_mai[...]
61: 0000000000404028 0 NOTYPE GLOBAL DEFAULT 24 __data_start
62: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
63: 0000000000404030 0 OBJECT GLOBAL HIDDEN 24 __dso_handle
64: 0000000000402000 4 OBJECT GLOBAL DEFAULT 16 _IO_stdin_used
65: 00000000004011f0 101 FUNC GLOBAL DEFAULT 14 __libc_csu_init
66: 0000000000401160 52 FUNC GLOBAL DEFAULT 14 foo
67: 0000000000404040 0 NOTYPE GLOBAL DEFAULT 25 _end
68: 0000000000401080 0 FUNC GLOBAL DEFAULT 14 _start
69: 0000000000404038 4 OBJECT GLOBAL DEFAULT 24 m
70: 000000000040403c 0 NOTYPE GLOBAL DEFAULT 25 __bss_start
71: 0000000000401060 32 FUNC GLOBAL DEFAULT 14 main
72: 0000000000000000 0 FUNC GLOBAL DEFAULT UND exit@@GLIBC_2.2.5
73: 0000000000404040 0 OBJECT GLOBAL HIDDEN 24 __TMC_END__
74: 0000000000401000 0 FUNC GLOBAL DEFAULT 11 _init
Histogramme de la longueur de la liste des baquets (total de 3 baquets) :
Long. Nombre % de couverture totale
0 1 ( 33.3%)
1 1 ( 33.3%) 33.3%
2 1 ( 33.3%) 100.0%
La section des symboles de version « .gnu.version » contient 4 entrées :
Adr: 0x00000000004003ce Décalage: 0x000003ce Lien: 5 (.dynsym)
000: 0 (*local*) 2 (GLIBC_2.2.5) 0 (*local*) 2 (GLIBC_2.2.5)
La section de dépendances de version « .gnu.version_r » contient 1 entrée :
Adr: 0x00000000004003d8 Décalage: 0x000003d8 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