1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
ELF Header:
Magic: 7f 45 4c 46 02 01 01 03 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - GNU
ABI Version: 0
Type: DYN (Shared object file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0x29f50
Start of program headers: 64 (bytes into file)
Start of section headers: 2216176 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 14
Size of section headers: 64 (bytes)
Number of section headers: 66
Section header string table index: 65
Section Headers:
[Nr] Name Type Address Offset
Size EntSize Flags Link Info Align
[ 0] NULL 0000000000000000 00000000
0000000000000000 0000000000000000 0 0 0
[ 1] .note.gnu.pr[...] NOTE 0000000000000350 00000350
0000000000000030 0000000000000000 A 0 0 8
[ 2] .note.gnu.bu[...] NOTE 0000000000000380 00000380
0000000000000024 0000000000000000 A 0 0 4
[ 3] .note.ABI-tag NOTE 00000000000003a4 000003a4
0000000000000020 0000000000000000 A 0 0 4
[ 4] .gnu.hash GNU_HASH 00000000000003c8 000003c8
0000000000004704 0000000000000000 A 5 0 8
[ 5] .dynsym DYNSYM 0000000000004ad0 00004ad0
0000000000011b80 0000000000000018 A 6 1 8
[ 6] .dynstr STRTAB 0000000000016650 00016650
0000000000007f15 0000000000000000 A 0 0 1
[ 7] .gnu.version VERSYM 000000000001e566 0001e566
00000000000017a0 0000000000000002 A 5 0 2
[ 8] .gnu.version_d VERDEF 000000000001fd08 0001fd08
0000000000000524 0000000000000000 A 6 37 8
[ 9] .gnu.version_r VERNEED 0000000000020230 00020230
0000000000000040 0000000000000000 A 6 1 8
[10] .rela.dyn RELA 0000000000020270 00020270
0000000000007860 0000000000000018 A 5 0 8
[11] .rela.plt RELA 0000000000027ad0 00027ad0
0000000000000510 0000000000000018 AI 5 33 8
[12] .plt PROGBITS 0000000000028000 00028000
0000000000000370 0000000000000010 AX 0 0 16
[13] .plt.got PROGBITS 0000000000028370 00028370
0000000000000020 0000000000000010 AX 0 0 16
[14] .plt.sec PROGBITS 0000000000028390 00028390
0000000000000360 0000000000000010 AX 0 0 16
[15] .text PROGBITS 0000000000028700 00028700
000000000019223d 0000000000000000 AX 0 0 64
[16] __libc_freeres_fn PROGBITS 00000000001ba940 001ba940
0000000000001a01 0000000000000000 AX 0 0 16
[17] .rodata PROGBITS 00000000001bd000 001bd000
0000000000026e28 0000000000000000 A 0 0 32
[18] .stapsdt.base PROGBITS 00000000001e3e28 001e3e28
0000000000000001 0000000000000000 A 0 0 1
[19] .interp PROGBITS 00000000001e3e30 001e3e30
000000000000001c 0000000000000000 A 0 0 16
[20] .eh_frame_hdr PROGBITS 00000000001e3e4c 001e3e4c
00000000000070d4 0000000000000000 A 0 0 4
[21] .eh_frame PROGBITS 00000000001eaf20 001eaf20
00000000000254c8 0000000000000000 A 0 0 8
[22] .gcc_except_table PROGBITS 00000000002103e8 002103e8
000000000000060a 0000000000000000 A 0 0 1
[23] .hash HASH 00000000002109f8 002109f8
0000000000003f2c 0000000000000004 A 5 0 8
[24] .tdata PROGBITS 00000000002168f0 002158f0
0000000000000010 0000000000000000 WAT 0 0 8
[25] .tbss NOBITS 0000000000216900 00215900
0000000000000080 0000000000000000 WAT 0 0 8
[26] .init_array INIT_ARRAY 0000000000216900 00215900
0000000000000010 0000000000000008 WA 0 0 8
[27] __libc_subfreeres PROGBITS 0000000000216910 00215910
00000000000000e8 0000000000000000 WAR 0 0 8
[28] __libc_atexit PROGBITS 00000000002169f8 002159f8
0000000000000008 0000000000000000 WAR 0 0 8
[29] __libc_IO_vtables PROGBITS 0000000000216a00 00215a00
0000000000000d68 0000000000000000 WA 0 0 32
[30] .data.rel.ro PROGBITS 0000000000217780 00216780
0000000000002440 0000000000000000 WA 0 0 32
[31] .dynamic DYNAMIC 0000000000219bc0 00218bc0
00000000000001d0 0000000000000010 WA 6 0 8
[32] .got PROGBITS 0000000000219d90 00218d90
0000000000000270 0000000000000008 WA 0 0 8
[33] .got.plt PROGBITS 000000000021a000 00219000
00000000000001c8 0000000000000008 WA 0 0 8
[34] .data PROGBITS 000000000021a1e0 002191e0
00000000000016a8 0000000000000000 WA 0 0 32
[35] .bss NOBITS 000000000021b8a0 0021a888
000000000000d5b0 0000000000000000 WA 0 0 32
[36] .note.stapsdt NOTE 0000000000000000 0021a888
0000000000001c6c 0000000000000000 0 0 4
[37] .gnu.warning[...] PROGBITS 0000000000000000 0021c500
000000000000004d 0000000000000000 0 0 32
[38] .gnu.warning[...] PROGBITS 0000000000000000 0021c560
0000000000000032 0000000000000000 0 0 32
[39] .gnu.warning[...] PROGBITS 0000000000000000 0021c5a0
0000000000000039 0000000000000000 0 0 32
[40] .gnu.warning[...] PROGBITS 0000000000000000 0021c5e0
0000000000000037 0000000000000000 0 0 32
[41] .gnu.warning[...] PROGBITS 0000000000000000 0021c620
0000000000000039 0000000000000000 0 0 32
[42] .gnu.warning[...] PROGBITS 0000000000000000 0021c660
0000000000000038 0000000000000000 0 0 32
[43] .gnu.warning.gets PROGBITS 0000000000000000 0021c6a0
0000000000000039 0000000000000000 0 0 32
[44] .gnu.warning[...] PROGBITS 0000000000000000 0021c6e0
0000000000000052 0000000000000000 0 0 32
[45] .gnu.warning[...] PROGBITS 0000000000000000 0021c740
0000000000000052 0000000000000000 0 0 32
[46] .gnu.warning[...] PROGBITS 0000000000000000 0021c7a0
000000000000003a 0000000000000000 0 0 32
[47] .gnu.warning[...] PROGBITS 0000000000000000 0021c7e0
000000000000003d 0000000000000000 0 0 32
[48] .gnu.warning[...] PROGBITS 0000000000000000 0021c820
000000000000007a 0000000000000000 0 0 32
[49] .gnu.warning[...] PROGBITS 0000000000000000 0021c8a0
000000000000002f 0000000000000000 0 0 32
[50] .gnu.warning[...] PROGBITS 0000000000000000 0021c8e0
0000000000000044 0000000000000000 0 0 32
[51] .gnu.warning.gtty PROGBITS 0000000000000000 0021c940
000000000000002d 0000000000000000 0 0 32
[52] .gnu.warning.stty PROGBITS 0000000000000000 0021c980
000000000000002d 0000000000000000 0 0 32
[53] .gnu.warning[...] PROGBITS 0000000000000000 0021c9c0
0000000000000030 0000000000000000 0 0 32
[54] .gnu.warning[...] PROGBITS 0000000000000000 0021ca00
0000000000000031 0000000000000000 0 0 32
[55] .gnu.warning[...] PROGBITS 0000000000000000 0021ca40
0000000000000039 0000000000000000 0 0 32
[56] .gnu.warning[...] PROGBITS 0000000000000000 0021ca80
0000000000000039 0000000000000000 0 0 32
[57] .gnu.warning[...] PROGBITS 0000000000000000 0021cac0
000000000000003c 0000000000000000 0 0 32
[58] .gnu.warning[...] PROGBITS 0000000000000000 0021cb00
000000000000003b 0000000000000000 0 0 32
[59] .gnu.warning[...] PROGBITS 0000000000000000 0021cb40
000000000000003d 0000000000000000 0 0 32
[60] .gnu.warning[...] PROGBITS 0000000000000000 0021cb80
000000000000003c 0000000000000000 0 0 32
[61] .gnu.warning[...] PROGBITS 0000000000000000 0021cbc0
000000000000003b 0000000000000000 0 0 32
[62] .gnu.warning[...] PROGBITS 0000000000000000 0021cc00
000000000000003b 0000000000000000 0 0 32
[63] .gnu.warning[...] PROGBITS 0000000000000000 0021cc40
0000000000000031 0000000000000000 0 0 32
[64] .gnu_debuglink PROGBITS 0000000000000000 0021cc74
0000000000000034 0000000000000000 0 0 4
[65] .shstrtab STRTAB 0000000000000000 0021cca8
0000000000000444 0000000000000000 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
L (link order), O (extra OS processing required), G (group), T (TLS),
C (compressed), x (unknown), o (OS specific), E (exclude),
R (retain), D (mbind), l (large), p (processor specific)
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
PHDR 0x0000000000000040 0x0000000000000040 0x0000000000000040
0x0000000000000310 0x0000000000000310 R 0x8
INTERP 0x00000000001e3e30 0x00000000001e3e30 0x00000000001e3e30
0x000000000000001c 0x000000000000001c R 0x10
[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000027fe0 0x0000000000027fe0 R 0x1000
LOAD 0x0000000000028000 0x0000000000028000 0x0000000000028000
0x0000000000194341 0x0000000000194341 R E 0x1000
LOAD 0x00000000001bd000 0x00000000001bd000 0x00000000001bd000
0x0000000000057924 0x0000000000057924 R 0x1000
LOAD 0x00000000002158f0 0x00000000002168f0 0x00000000002168f0
0x0000000000004f98 0x0000000000012560 RW 0x1000
DYNAMIC 0x0000000000218bc0 0x0000000000219bc0 0x0000000000219bc0
0x00000000000001d0 0x00000000000001d0 RW 0x8
NOTE 0x0000000000000350 0x0000000000000350 0x0000000000000350
0x0000000000000030 0x0000000000000030 R 0x8
NOTE 0x0000000000000380 0x0000000000000380 0x0000000000000380
0x0000000000000044 0x0000000000000044 R 0x4
TLS 0x00000000002158f0 0x00000000002168f0 0x00000000002168f0
0x0000000000000010 0x0000000000000090 R 0x8
GNU_PROPERTY 0x0000000000000350 0x0000000000000350 0x0000000000000350
0x0000000000000030 0x0000000000000030 R 0x8
GNU_EH_FRAME 0x00000000001e3e4c 0x00000000001e3e4c 0x00000000001e3e4c
0x00000000000070d4 0x00000000000070d4 R 0x4
GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RW 0x10
GNU_RELRO 0x00000000002158f0 0x00000000002168f0 0x00000000002168f0
0x0000000000003710 0x0000000000003710 R 0x1
Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .note.gnu.property .note.gnu.build-id .note.ABI-tag .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_d .gnu.version_r .rela.dyn .rela.plt
03 .plt .plt.got .plt.sec .text __libc_freeres_fn
04 .rodata .stapsdt.base .interp .eh_frame_hdr .eh_frame .gcc_except_table .hash
05 .tdata .init_array __libc_subfreeres __libc_atexit __libc_IO_vtables .data.rel.ro .dynamic .got .got.plt .data .bss
06 .dynamic
07 .note.gnu.property
08 .note.gnu.build-id .note.ABI-tag
09 .tdata .tbss
10 .note.gnu.property
11 .eh_frame_hdr
12
13 .tdata .init_array __libc_subfreeres __libc_atexit __libc_IO_vtables .data.rel.ro .dynamic .got
Dynamic section at offset 0x218bc0 contains 25 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [ld-linux-x86-64.so.2]
0x000000000000000e (SONAME) Library soname: [libc.so.6]
0x0000000000000019 (INIT_ARRAY) 0x216900
0x000000000000001b (INIT_ARRAYSZ) 16 (bytes)
0x0000000000000004 (HASH) 0x2109f8
0x000000006ffffef5 (GNU_HASH) 0x3c8
0x0000000000000005 (STRTAB) 0x16650
0x0000000000000006 (SYMTAB) 0x4ad0
0x000000000000000a (STRSZ) 32533 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000003 (PLTGOT) 0x21a000
0x0000000000000002 (PLTRELSZ) 1296 (bytes)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0x27ad0
0x0000000000000007 (RELA) 0x20270
0x0000000000000008 (RELASZ) 30816 (bytes)
0x0000000000000009 (RELAENT) 24 (bytes)
0x000000006ffffffc (VERDEF) 0x1fd08
0x000000006ffffffd (VERDEFNUM) 37
0x000000000000001e (FLAGS) STATIC_TLS
0x000000006ffffffe (VERNEED) 0x20230
0x000000006fffffff (VERNEEDNUM) 1
0x000000006ffffff0 (VERSYM) 0x1e566
0x000000006ffffff9 (RELACOUNT) 1197
0x0000000000000000 (NULL) 0x0