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
| $ cat hello1.dis
hello1: file format elf32-littlearm
Disassembly of section .init:
0001029c <_init>:
1029c: e92d4008 push {r3, lr}
102a0: eb000021 bl 1032c <call_weak_fn>
102a4: e8bd4008 pop {r3, lr}
102a8: e12fff1e bx lr
Disassembly of section .plt:
000102ac <puts@plt-0x14>:
102ac: e52de004 push {lr} ; (str lr, [sp, #-4]!)
102b0: e59fe004 ldr lr, [pc, #4] ; 102bc <_init+0x20>
102b4: e08fe00e add lr, pc, lr
102b8: e5bef008 ldr pc, [lr, #8]!
102bc: 00010318 .word 0x00010318
000102c0 <puts@plt>:
102c0: e28fc600 add ip, pc, #0, 12
102c4: e28cca10 add ip, ip, #16, 20 ; 0x10000
102c8: e5bcf318 ldr pc, [ip, #792]! ; 0x318
000102cc <__libc_start_main@plt>:
102cc: e28fc600 add ip, pc, #0, 12
102d0: e28cca10 add ip, ip, #16, 20 ; 0x10000
102d4: e5bcf310 ldr pc, [ip, #784]! ; 0x310
000102d8 <__gmon_start__@plt>:
102d8: e28fc600 add ip, pc, #0, 12
102dc: e28cca10 add ip, ip, #16, 20 ; 0x10000
102e0: e5bcf308 ldr pc, [ip, #776]! ; 0x308
000102e4 <abort@plt>:
102e4: e28fc600 add ip, pc, #0, 12
102e8: e28cca10 add ip, ip, #16, 20 ; 0x10000
102ec: e5bcf300 ldr pc, [ip, #768]! ; 0x300
Disassembly of section .text:
000102f0 <_start>:
102f0: e3a0b000 mov fp, #0
102f4: e3a0e000 mov lr, #0
102f8: e49d1004 pop {r1} ; (ldr r1, [sp], #4)
102fc: e1a0200d mov r2, sp
10300: e52d2004 push {r2} ; (str r2, [sp, #-4]!)
10304: e52d0004 push {r0} ; (str r0, [sp, #-4]!)
10308: e59fc010 ldr ip, [pc, #16] ; 10320 <_start+0x30>
1030c: e52dc004 push {ip} ; (str ip, [sp, #-4]!)
10310: e59f000c ldr r0, [pc, #12] ; 10324 <_start+0x34>
10314: e59f300c ldr r3, [pc, #12] ; 10328 <_start+0x38>
10318: ebffffeb bl 102cc <__libc_start_main@plt>
1031c: ebfffff0 bl 102e4 <abort@plt>
10320: 000104b4 .word 0x000104b4
10324: 00010420 .word 0x00010420
10328: 00010448 .word 0x00010448
0001032c <call_weak_fn>:
1032c: e59f3014 ldr r3, [pc, #20] ; 10348 <call_weak_fn+0x1c>
10330: e59f2014 ldr r2, [pc, #20] ; 1034c <call_weak_fn+0x20>
10334: e08f3003 add r3, pc, r3
10338: e7932002 ldr r2, [r3, r2]
1033c: e3520000 cmp r2, #0
10340: 012fff1e bxeq lr
10344: eaffffe3 b 102d8 <__gmon_start__@plt>
10348: 00010298 .word 0x00010298
1034c: 0000001c .word 0x0000001c
00010350 <deregister_tm_clones>:
10350: e59f301c ldr r3, [pc, #28] ; 10374 <deregister_tm_clones+0x24>
10354: e59f001c ldr r0, [pc, #28] ; 10378 <deregister_tm_clones+0x28>
10358: e0603003 rsb r3, r0, r3
1035c: e3530006 cmp r3, #6
10360: 912fff1e bxls lr
10364: e59f3010 ldr r3, [pc, #16] ; 1037c <deregister_tm_clones+0x2c>
10368: e3530000 cmp r3, #0
1036c: 012fff1e bxeq lr
10370: e12fff13 bx r3
10374: 000205ff .word 0x000205ff
10378: 000205fc .word 0x000205fc
1037c: 00000000 .word 0x00000000
00010380 <register_tm_clones>:
10380: e59f1024 ldr r1, [pc, #36] ; 103ac <register_tm_clones+0x2c>
10384: e59f0024 ldr r0, [pc, #36] ; 103b0 <register_tm_clones+0x30>
10388: e0601001 rsb r1, r0, r1
1038c: e1a01141 asr r1, r1, #2
10390: e0811fa1 add r1, r1, r1, lsr #31
10394: e1b010c1 asrs r1, r1, #1
10398: 012fff1e bxeq lr
1039c: e59f3010 ldr r3, [pc, #16] ; 103b4 <register_tm_clones+0x34>
103a0: e3530000 cmp r3, #0
103a4: 012fff1e bxeq lr
103a8: e12fff13 bx r3
103ac: 000205fc .word 0x000205fc
103b0: 000205fc .word 0x000205fc
103b4: 00000000 .word 0x00000000
000103b8 <__do_global_dtors_aux>:
103b8: e92d4010 push {r4, lr}
103bc: e59f401c ldr r4, [pc, #28] ; 103e0 <__do_global_dtors_aux+0x28>
103c0: e5d43000 ldrb r3, [r4]
103c4: e3530000 cmp r3, #0
103c8: 1a000002 bne 103d8 <__do_global_dtors_aux+0x20>
103cc: ebffffdf bl 10350 <deregister_tm_clones>
103d0: e3a03001 mov r3, #1
103d4: e5c43000 strb r3, [r4]
103d8: e8bd4010 pop {r4, lr}
103dc: e12fff1e bx lr
103e0: 000205fc .word 0x000205fc
000103e4 <frame_dummy>:
103e4: e92d4008 push {r3, lr}
103e8: e59f0028 ldr r0, [pc, #40] ; 10418 <frame_dummy+0x34>
103ec: e5903000 ldr r3, [r0]
103f0: e3530000 cmp r3, #0
103f4: 1a000001 bne 10400 <frame_dummy+0x1c>
103f8: e8bd4008 pop {r3, lr}
103fc: eaffffdf b 10380 <register_tm_clones>
10400: e59f3014 ldr r3, [pc, #20] ; 1041c <frame_dummy+0x38>
10404: e3530000 cmp r3, #0
10408: 0afffffa beq 103f8 <frame_dummy+0x14>
1040c: e1a0e00f mov lr, pc
10410: e12fff13 bx r3
10414: eafffff7 b 103f8 <frame_dummy+0x14>
10418: 000204e8 .word 0x000204e8
1041c: 00000000 .word 0x00000000
00010420 <main>:
10420: e92d4800 push {fp, lr}
10424: e28db004 add fp, sp, #4
10428: e59f0014 ldr r0, [pc, #20] ; 10444 <main+0x24>
1042c: ebffffa3 bl 102c0 <puts@plt>
10430: e3a03000 mov r3, #0
10434: e1a00003 mov r0, r3
10438: e24bd004 sub sp, fp, #4
1043c: e8bd4800 pop {fp, lr}
10440: e12fff1e bx lr
10444: 000104c8 .word 0x000104c8
00010448 <__libc_csu_init>:
10448: e92d43f8 push {r3, r4, r5, r6, r7, r8, r9, lr}
1044c: e59f6058 ldr r6, [pc, #88] ; 104ac <__libc_csu_init+0x64>
10450: e59f5058 ldr r5, [pc, #88] ; 104b0 <__libc_csu_init+0x68>
10454: e08f6006 add r6, pc, r6
10458: e08f5005 add r5, pc, r5
1045c: e0656006 rsb r6, r5, r6
10460: e1a07000 mov r7, r0
10464: e1a08001 mov r8, r1
10468: e1a09002 mov r9, r2
1046c: ebffff8a bl 1029c <_init>
10470: e1b06146 asrs r6, r6, #2
10474: 0a00000a beq 104a4 <__libc_csu_init+0x5c>
10478: e2455004 sub r5, r5, #4
1047c: e3a04000 mov r4, #0
10480: e2844001 add r4, r4, #1
10484: e5b53004 ldr r3, [r5, #4]!
10488: e1a00007 mov r0, r7
1048c: e1a01008 mov r1, r8
10490: e1a02009 mov r2, r9
10494: e1a0e00f mov lr, pc
10498: e12fff13 bx r3
1049c: e1540006 cmp r4, r6
104a0: 1afffff6 bne 10480 <__libc_csu_init+0x38>
104a4: e8bd43f8 pop {r3, r4, r5, r6, r7, r8, r9, lr}
104a8: e12fff1e bx lr
104ac: 00010088 .word 0x00010088
104b0: 00010080 .word 0x00010080
000104b4 <__libc_csu_fini>:
104b4: e12fff1e bx lr
Disassembly of section .fini:
000104b8 <_fini>:
104b8: e92d4008 push {r3, lr}
104bc: e8bd4008 pop {r3, lr}
104c0: e12fff1e bx lr
|