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
|
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: ARM
Version: 0x1
Entry point address: 0x880d
Start of program headers: 52 (bytes into file)
Start of section headers: 8616 (bytes into file)
Flags: 0x5000002, has entry point, Version5 EABI
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 9
Size of section headers: 40 (bytes)
Number of section headers: 27
Section header string table index: 26
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .interp PROGBITS 00008154 000154 000019 00 A 0 0 1
[ 2] .note.ABI-tag NOTE 00008170 000170 000020 00 A 0 0 4
[ 3] .note.gnu.build-id NOTE 00008190 000190 000024 00 A 0 0 4
[ 4] .hash HASH 000081b4 0001b4 0000c4 04 A 5 0 4
[ 5] .dynsym DYNSYM 00008278 000278 0001e0 10 A 6 1 4
[ 6] .dynstr STRTAB 00008458 000458 0000d8 00 A 0 0 1
[ 7] .gnu.version VERSYM 00008530 000530 00003c 02 A 5 0 2
[ 8] .gnu.version_r VERNEED 0000856c 00056c 000020 00 A 6 1 4
[ 9] .rel.dyn REL 0000858c 00058c 000018 08 A 5 0 4
[10] .rel.plt REL 000085a4 0005a4 0000d8 08 A 5 12 4
[11] .init PROGBITS 0000867c 00067c 00000c 00 AX 0 0 4
[12] .plt PROGBITS 00008688 000688 000158 04 AX 0 0 4
[13] .text PROGBITS 000087e0 0007e0 000610 00 AX 0 0 4
[14] .fini PROGBITS 00008df0 000df0 000008 00 AX 0 0 4
[15] .rodata PROGBITS 00008df8 000df8 000380 00 A 0 0 4
[16] .ARM.exidx ARM_EXIDX 00009178 001178 000008 00 AL 13 0 4
[17] .eh_frame PROGBITS 00009180 001180 000004 00 A 0 0 4
[18] .init_array INIT_ARRAY 00011f0c 001f0c 000004 00 WA 0 0 4
[19] .fini_array FINI_ARRAY 00011f10 001f10 000004 00 WA 0 0 4
[20] .jcr PROGBITS 00011f14 001f14 000004 00 WA 0 0 4
[21] .dynamic DYNAMIC 00011f18 001f18 0000e8 08 WA 6 0 4
[22] .got PROGBITS 00012000 002000 00007c 04 WA 0 0 4
[23] .data PROGBITS 0001207c 00207c 000008 00 WA 0 0 4
[24] .bss NOBITS 00012088 002084 000044 00 WA 0 0 8
[25] .ARM.attributes ARM_ATTRIBUTES 00000000 002084 000037 00 0 0 1
[26] .shstrtab STRTAB 00000000 0020bb 0000ed 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
There are no section groups in this file.
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
EXIDX 0x001178 0x00009178 0x00009178 0x00008 0x00008 R 0x4
PHDR 0x000034 0x00008034 0x00008034 0x00120 0x00120 R E 0x4
INTERP 0x000154 0x00008154 0x00008154 0x00019 0x00019 R 0x1
[Requesting program interpreter: /lib/ld-linux-armhf.so.3]
LOAD 0x000000 0x00008000 0x00008000 0x01184 0x01184 R E 0x8000
LOAD 0x001f0c 0x00011f0c 0x00011f0c 0x00178 0x001c0 RW 0x8000
DYNAMIC 0x001f18 0x00011f18 0x00011f18 0x000e8 0x000e8 RW 0x4
NOTE 0x000170 0x00008170 0x00008170 0x00044 0x00044 R 0x4
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4
GNU_RELRO 0x001f0c 0x00011f0c 0x00011f0c 0x000f4 0x000f4 R 0x1
Section to Segment mapping:
Segment Sections...
00 .ARM.exidx
01
02 .interp
03 .interp .note.ABI-tag .note.gnu.build-id .hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata .ARM.exidx .eh_frame
04 .init_array .fini_array .jcr .dynamic .got .data .bss
05 .dynamic
06 .note.ABI-tag .note.gnu.build-id
07
08 .init_array .fini_array .jcr .dynamic
Dynamic section at offset 0x1f18 contains 24 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libc.so.6]
0x0000000c (INIT) 0x867c
0x0000000d (FINI) 0x8df0
0x00000019 (INIT_ARRAY) 0x11f0c
0x0000001b (INIT_ARRAYSZ) 4 (bytes)
0x0000001a (FINI_ARRAY) 0x11f10
0x0000001c (FINI_ARRAYSZ) 4 (bytes)
0x00000004 (HASH) 0x81b4
0x00000005 (STRTAB) 0x8458
0x00000006 (SYMTAB) 0x8278
0x0000000a (STRSZ) 216 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000015 (DEBUG) 0x0
0x00000003 (PLTGOT) 0x12000
0x00000002 (PLTRELSZ) 216 (bytes)
0x00000014 (PLTREL) REL
0x00000017 (JMPREL) 0x85a4
0x00000011 (REL) 0x858c
0x00000012 (RELSZ) 24 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x6ffffffe (VERNEED) 0x856c
0x6fffffff (VERNEEDNUM) 1
0x6ffffff0 (VERSYM) 0x8530
0x00000000 (NULL) 0x0
Relocation section '.rel.dyn' at offset 0x58c contains 3 entries:
Offset Info Type Sym. Value Symbol's Name
00012078 00001015 R_ARM_GLOB_DAT 00000000 __gmon_start__
00012088 00000a14 R_ARM_COPY 00012088 stderr
0001208c 00001714 R_ARM_COPY 0001208c stdout
Relocation section '.rel.plt' at offset 0x5a4 contains 27 entries:
Offset Info Type Sym. Value Symbol's Name
0001200c 00000116 R_ARM_JUMP_SLOT 0000869c strtol
00012010 00000216 R_ARM_JUMP_SLOT 000086a8 printf
00012014 00000316 R_ARM_JUMP_SLOT 000086b4 fopen
00012018 00000416 R_ARM_JUMP_SLOT 000086c0 read
0001201c 00000516 R_ARM_JUMP_SLOT 000086cc fflush
00012020 00000616 R_ARM_JUMP_SLOT 000086d8 _exit
00012024 00000716 R_ARM_JUMP_SLOT 000086e4 sleep
00012028 00000816 R_ARM_JUMP_SLOT 000086f0 unlink
0001202c 00000916 R_ARM_JUMP_SLOT 000086fc regexec
00012030 00000b16 R_ARM_JUMP_SLOT 00008708 fwrite
00012034 00000c16 R_ARM_JUMP_SLOT 00008714 strcpy
00012038 00000d16 R_ARM_JUMP_SLOT 00008720 puts
0001203c 00000e16 R_ARM_JUMP_SLOT 0000872c __libc_start_main
00012040 00000f16 R_ARM_JUMP_SLOT 00008738 strerror
00012044 00001016 R_ARM_JUMP_SLOT 00000000 __gmon_start__
00012048 00001116 R_ARM_JUMP_SLOT 00008750 open
0001204c 00001216 R_ARM_JUMP_SLOT 0000875c exit
00012050 00001316 R_ARM_JUMP_SLOT 00008768 fprintf
00012054 00001416 R_ARM_JUMP_SLOT 00008774 __errno_location
00012058 00001516 R_ARM_JUMP_SLOT 00008780 fgetc
0001205c 00001616 R_ARM_JUMP_SLOT 0000878c write
00012060 00001816 R_ARM_JUMP_SLOT 00008798 fclose
00012064 00001916 R_ARM_JUMP_SLOT 000087a4 regcomp
00012068 00001a16 R_ARM_JUMP_SLOT 000087b0 strncat
0001206c 00001b16 R_ARM_JUMP_SLOT 000087bc strncmp
00012070 00001c16 R_ARM_JUMP_SLOT 000087c8 abort
00012074 00001d16 R_ARM_JUMP_SLOT 000087d4 close
Unwind table index '.ARM.exidx' at offset 0x1178 contains 1 entries:
0x880c: 0x1 [cantunwind]
Symbol table '.dynsym' contains 30 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 0000869c 0 FUNC GLOBAL DEFAULT UND strtol@GLIBC_2.4 (2)
2: 000086a8 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.4 (2)
3: 000086b4 0 FUNC GLOBAL DEFAULT UND fopen@GLIBC_2.4 (2)
4: 000086c0 0 FUNC GLOBAL DEFAULT UND read@GLIBC_2.4 (2)
5: 000086cc 0 FUNC GLOBAL DEFAULT UND fflush@GLIBC_2.4 (2)
6: 000086d8 0 FUNC GLOBAL DEFAULT UND _exit@GLIBC_2.4 (2)
7: 000086e4 0 FUNC GLOBAL DEFAULT UND sleep@GLIBC_2.4 (2)
8: 000086f0 0 FUNC GLOBAL DEFAULT UND unlink@GLIBC_2.4 (2)
9: 000086fc 0 FUNC GLOBAL DEFAULT UND regexec@GLIBC_2.4 (2)
10: 00012088 4 OBJECT GLOBAL DEFAULT 24 stderr@GLIBC_2.4 (2)
11: 00008708 0 FUNC GLOBAL DEFAULT UND fwrite@GLIBC_2.4 (2)
12: 00008714 0 FUNC GLOBAL DEFAULT UND strcpy@GLIBC_2.4 (2)
13: 00008720 0 FUNC GLOBAL DEFAULT UND puts@GLIBC_2.4 (2)
14: 0000872c 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.4 (2)
15: 00008738 0 FUNC GLOBAL DEFAULT UND strerror@GLIBC_2.4 (2)
16: 00000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
17: 00008750 0 FUNC GLOBAL DEFAULT UND open@GLIBC_2.4 (2)
18: 0000875c 0 FUNC GLOBAL DEFAULT UND exit@GLIBC_2.4 (2)
19: 00008768 0 FUNC GLOBAL DEFAULT UND fprintf@GLIBC_2.4 (2)
20: 00008774 0 FUNC GLOBAL DEFAULT UND __errno_location@GLIBC_2.4 (2)
21: 00008780 0 FUNC GLOBAL DEFAULT UND fgetc@GLIBC_2.4 (2)
22: 0000878c 0 FUNC GLOBAL DEFAULT UND write@GLIBC_2.4 (2)
23: 0001208c 4 OBJECT GLOBAL DEFAULT 24 stdout@GLIBC_2.4 (2)
24: 00008798 0 FUNC GLOBAL DEFAULT UND fclose@GLIBC_2.4 (2)
25: 000087a4 0 FUNC GLOBAL DEFAULT UND regcomp@GLIBC_2.4 (2)
26: 000087b0 0 FUNC GLOBAL DEFAULT UND strncat@GLIBC_2.4 (2)
27: 000087bc 0 FUNC GLOBAL DEFAULT UND strncmp@GLIBC_2.4 (2)
28: 000087c8 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.4 (2)
29: 000087d4 0 FUNC GLOBAL DEFAULT UND close@GLIBC_2.4 (2)
Histogram for bucket list length (total of 17 buckets):
Length Number % of total Coverage
0 5 ( 29.4%)
1 3 ( 17.6%) 10.3%
2 5 ( 29.4%) 44.8%
3 2 ( 11.8%) 65.5%
4 1 ( 5.9%) 79.3%
5 0 ( 0.0%) 79.3%
6 1 ( 5.9%) 100.0%
Version symbols section '.gnu.version' contains 30 entries:
Addr: 0000000000008530 Offset: 0x000530 Link: 5 (.dynsym)
000: 0 (*local*) 2 (GLIBC_2.4) 2 (GLIBC_2.4) 2 (GLIBC_2.4)
004: 2 (GLIBC_2.4) 2 (GLIBC_2.4) 2 (GLIBC_2.4) 2 (GLIBC_2.4)
008: 2 (GLIBC_2.4) 2 (GLIBC_2.4) 2 (GLIBC_2.4) 2 (GLIBC_2.4)
00c: 2 (GLIBC_2.4) 2 (GLIBC_2.4) 2 (GLIBC_2.4) 2 (GLIBC_2.4)
010: 0 (*local*) 2 (GLIBC_2.4) 2 (GLIBC_2.4) 2 (GLIBC_2.4)
014: 2 (GLIBC_2.4) 2 (GLIBC_2.4) 2 (GLIBC_2.4) 2 (GLIBC_2.4)
018: 2 (GLIBC_2.4) 2 (GLIBC_2.4) 2 (GLIBC_2.4) 2 (GLIBC_2.4)
01c: 2 (GLIBC_2.4) 2 (GLIBC_2.4)
Version needs section '.gnu.version_r' contains 1 entries:
Addr: 0x000000000000856c Offset: 0x00056c Link: 6 (.dynstr)
000000: Version: 1 File: libc.so.6 Cnt: 1
0x0010: Name: GLIBC_2.4 Flags: none Version: 2
Notes at offset 0x00000170 with length 0x00000020:
Owner Data size Description
GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag)
OS: Linux, ABI: 3.1.1
Notes at offset 0x00000190 with length 0x00000024:
Owner Data size Description
GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring)
Build ID: 50e1c2c031bf8a65ee580da3ec17d7dededc465f
Attribute Section: aeabi
File Attributes
Tag_CPU_name: "7-A"
Tag_CPU_arch: v7
Tag_CPU_arch_profile: Application
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-2
Tag_FP_arch: VFPv3
Tag_Advanced_SIMD_arch: NEONv1
Tag_ABI_PCS_wchar_t: 4
Tag_ABI_FP_rounding: Needed
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
Tag_ABI_align_needed: 8-byte
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: int
Tag_ABI_HardFP_use: SP and DP
Tag_ABI_VFP_args: VFP registers
Tag_CPU_unaligned_access: v6
|