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
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: DYN (Position-Independent Executable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x1060
Start of program headers: 52 (bytes into file)
Start of section headers: 13424 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 12
Size of section headers: 40 (bytes)
Number of section headers: 30
Section header string table index: 29
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 000001b4 0001b4 000013 00 A 0 0 1
[ 2] .note.gnu.bu[...] NOTE 000001c8 0001c8 000024 00 A 0 0 4
[ 3] .note.gnu.pr[...] NOTE 000001ec 0001ec 000034 00 A 0 0 4
[ 4] .note.ABI-tag NOTE 00000220 000220 000020 00 A 0 0 4
[ 5] .gnu.hash GNU_HASH 00000240 000240 000020 04 A 6 0 4
[ 6] .dynsym DYNSYM 00000260 000260 000080 10 A 7 1 4
[ 7] .dynstr STRTAB 000002e0 0002e0 0000a8 00 A 0 0 1
[ 8] .gnu.version VERSYM 00000388 000388 000010 02 A 6 0 2
[ 9] .gnu.version_r VERNEED 00000398 000398 000040 00 A 7 1 4
[10] .rel.dyn REL 000003d8 0003d8 000040 08 A 6 0 4
[11] .rel.plt REL 00000418 000418 000010 08 AI 6 23 4
[12] .init PROGBITS 00001000 001000 000024 00 AX 0 0 4
[13] .plt PROGBITS 00001030 001030 000030 04 AX 0 0 16
[14] .text PROGBITS 00001060 001060 00016f 00 AX 0 0 16
[15] .fini PROGBITS 000011d0 0011d0 000018 00 AX 0 0 4
[16] .rodata PROGBITS 00002000 002000 00000b 00 A 0 0 4
[17] .eh_frame_hdr PROGBITS 0000200c 00200c 00002c 00 A 0 0 4
[18] .eh_frame PROGBITS 00002038 002038 00009c 00 A 0 0 4
[19] .init_array INIT_ARRAY 00003ee8 002ee8 000004 04 WA 0 0 4
[20] .fini_array FINI_ARRAY 00003eec 002eec 000004 04 WA 0 0 4
[21] .dynamic DYNAMIC 00003ef0 002ef0 0000f0 08 WA 7 0 4
[22] .got PROGBITS 00003fe0 002fe0 000014 04 WA 0 0 4
[23] .got.plt PROGBITS 00003ff4 002ff4 000014 04 WA 0 0 4
[24] .data PROGBITS 00004008 003008 000008 00 WA 0 0 4
[25] .bss NOBITS 00004010 003010 000004 00 WA 0 0 1
[26] .comment PROGBITS 00000000 003010 00001b 01 MS 0 0 1
[27] .symtab SYMTAB 00000000 00302c 0001c0 10 28 6 4
[28] .strtab STRTAB 00000000 0031ec 00016f 00 0 0 1
[29] .shstrtab STRTAB 00000000 00335b 000114 00 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),
D (mbind), p (processor specific)
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
PHDR 0x000034 0x00000034 0x00000034 0x00180 0x00180 R 0x4
INTERP 0x0001b4 0x000001b4 0x000001b4 0x00013 0x00013 R 0x1
[Requesting program interpreter: /lib/ld-linux.so.2]
LOAD 0x000000 0x00000000 0x00000000 0x00428 0x00428 R 0x1000
LOAD 0x001000 0x00001000 0x00001000 0x001e8 0x001e8 R E 0x1000
LOAD 0x002000 0x00002000 0x00002000 0x000d4 0x000d4 R 0x1000
LOAD 0x002ee8 0x00003ee8 0x00003ee8 0x00128 0x0012c RW 0x1000
DYNAMIC 0x002ef0 0x00003ef0 0x00003ef0 0x000f0 0x000f0 RW 0x4
NOTE 0x0001c8 0x000001c8 0x000001c8 0x00078 0x00078 R 0x4
GNU_PROPERTY 0x0001ec 0x000001ec 0x000001ec 0x00034 0x00034 R 0x4
GNU_EH_FRAME 0x00200c 0x0000200c 0x0000200c 0x0002c 0x0002c R 0x4
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x10
GNU_RELRO 0x002ee8 0x00003ee8 0x00003ee8 0x00118 0x00118 R 0x1
Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .interp .note.gnu.build-id .note.gnu.property .note.ABI-tag .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt
03 .init .plt .text .fini
04 .rodata .eh_frame_hdr .eh_frame
05 .init_array .fini_array .dynamic .got .got.plt .data .bss
06 .dynamic
07 .note.gnu.build-id .note.gnu.property .note.ABI-tag
08 .note.gnu.property
09 .eh_frame_hdr
10
11 .init_array .fini_array .dynamic .got
Dynamic section at offset 0x2ef0 contains 26 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libc.so.6]
0x0000000c (INIT) 0x1000
0x0000000d (FINI) 0x11d0
0x00000019 (INIT_ARRAY) 0x3ee8
0x0000001b (INIT_ARRAYSZ) 4 (bytes)
0x0000001a (FINI_ARRAY) 0x3eec
0x0000001c (FINI_ARRAYSZ) 4 (bytes)
0x6ffffef5 (GNU_HASH) 0x240
0x00000005 (STRTAB) 0x2e0
0x00000006 (SYMTAB) 0x260
0x0000000a (STRSZ) 168 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000015 (DEBUG) 0x0
0x00000003 (PLTGOT) 0x3ff4
0x00000002 (PLTRELSZ) 16 (bytes)
0x00000014 (PLTREL) REL
0x00000017 (JMPREL) 0x418
0x00000011 (REL) 0x3d8
0x00000012 (RELSZ) 64 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x6ffffffb (FLAGS_1) Flags: PIE
0x6ffffffe (VERNEED) 0x398
0x6fffffff (VERNEEDNUM) 1
0x6ffffff0 (VERSYM) 0x388
0x6ffffffa (RELCOUNT) 4
0x00000000 (NULL) 0x0