Reversing_SpecialInstructions_asm.txt

kanata, 2018/10/28 16:02

ダウンロード (11.324 KB)

 
1
$ /usr/local/cross2-gcc494/bin/moxie-elf-objdump -d -M intel ./runme
2

    
3
./runme:     file format elf32-bigmoxie
4

    
5

    
6
Disassembly of section .text:
7

    
8
00001400 <_start>:
9
    1400:       01 10 00 00     ldi.l   $sp, 0x1c60
10
    1404:       1c 60 
11
    1406:       03 00 00 00     jsra    15a2 <main>
12
    140a:       15 a2 
13

    
14
0000140c <__exit>:
15
    140c:       02 42           mov     $r2, $r0
16
    140e:       30 00 00 00     swi     0x1
17
    1412:       00 01 
18
    1414:       02 24           mov     $r0, $r2
19
    1416:       04 00           ret
20

    
21
00001418 <__read>:
22
    1418:       02 64           mov     $r4, $r2
23
    141a:       02 53           mov     $r3, $r1
24
    141c:       02 42           mov     $r2, $r0
25
    141e:       30 00 00 00     swi     0x4
26
    1422:       00 04 
27
    1424:       02 24           mov     $r0, $r2
28
    1426:       04 00           ret
29

    
30
00001428 <__write>:
31
    1428:       02 64           mov     $r4, $r2
32
    142a:       02 53           mov     $r3, $r1
33
    142c:       02 42           mov     $r2, $r0
34
    142e:       30 00 00 00     swi     0x5
35
    1432:       00 05 
36
    1434:       02 24           mov     $r0, $r2
37
    1436:       04 00           ret
38

    
39
00001438 <__open>:
40
    1438:       02 64           mov     $r4, $r2
41
    143a:       02 53           mov     $r3, $r1
42
    143c:       02 42           mov     $r2, $r0
43
    143e:       30 00 00 00     swi     0x2
44
    1442:       00 02 
45
    1444:       02 24           mov     $r0, $r2
46
    1446:       04 00           ret
47

    
48
00001448 <__close>:
49
    1448:       04 00           ret
50

    
51
0000144a <exit>:
52
    144a:       91 18           dec     $sp, 0x18
53
    144c:       03 00 00 00     jsra    140c <__exit>
54
    1450:       14 0c 
55

    
56
00001452 <write1>:
57
    1452:       91 18           dec     $sp, 0x18
58
    1454:       37 03 00 10     sto.b   0x10($fp), $r1
59
    1458:       02 30           mov     $r1, $fp
60
    145a:       83 10           inc     $r1, 0x10
61
    145c:       01 40 00 00     ldi.l   $r2, 0x1
62
    1460:       00 01 
63
    1462:       03 00 00 00     jsra    1428 <__write>
64
    1466:       14 28 
65
    1468:       04 00           ret
66

    
67
0000146a <putchar>:
68
    146a:       06 18           push    $sp, $r6
69
    146c:       91 18           dec     $sp, 0x18
70
    146e:       02 83           mov     $r6, $r1
71
    1470:       03 00 00 00     jsra    1452 <write1>
72
    1474:       14 52 
73
    1476:       02 28           mov     $r0, $r6
74
    1478:       02 e0           mov     $r12, $fp
75
    147a:       9e 04           dec     $r12, 0x4
76
    147c:       07 e8           pop     $r12, $r6
77
    147e:       04 00           ret
78

    
79
00001480 <puts>:
80
    1480:       06 18           push    $sp, $r6
81
    1482:       06 19           push    $sp, $r7
82
    1484:       06 1a           push    $sp, $r8
83
    1486:       06 1b           push    $sp, $r9
84
    1488:       06 1c           push    $sp, $r10
85
    148a:       91 18           dec     $sp, 0x18
86
    148c:       02 92           mov     $r7, $r0
87
    148e:       02 83           mov     $r6, $r1
88
    1490:       1c 33           ld.b    $r1, ($r1)
89
    1492:       02 43           mov     $r2, $r1
90
    1494:       2e 22           xor     $r0, $r0
91
    1496:       0e 42           cmp     $r2, $r0
92
    1498:       c0 0b           beq     14b0 <puts+0x30>
93
    149a:       01 c0 00 00     ldi.l   $r10, 0x146a
94
    149e:       14 6a 
95
    14a0:       02 a2           mov     $r8, $r0
96
    14a2:       02 29           mov     $r0, $r7
97
    14a4:       19 c0           jsr     $r10
98
    14a6:       88 01           inc     $r6, 0x1
99
    14a8:       1c 38           ld.b    $r1, ($r6)
100
    14aa:       02 23           mov     $r0, $r1
101
    14ac:       0e 2a           cmp     $r0, $r8
102
    14ae:       c7 f9           bne     14a2 <puts+0x22>
103
    14b0:       2e 22           xor     $r0, $r0
104
    14b2:       02 e0           mov     $r12, $fp
105
    14b4:       9e 14           dec     $r12, 0x14
106
    14b6:       07 ec           pop     $r12, $r10
107
    14b8:       07 eb           pop     $r12, $r9
108
    14ba:       07 ea           pop     $r12, $r8
109
    14bc:       07 e9           pop     $r12, $r7
110
    14be:       07 e8           pop     $r12, $r6
111
    14c0:       04 00           ret
112

    
113
000014c2 <putxval>:
114
    14c2:       06 18           push    $sp, $r6
115
    14c4:       06 19           push    $sp, $r7
116
    14c6:       06 1a           push    $sp, $r8
117
    14c8:       06 1b           push    $sp, $r9
118
    14ca:       06 1c           push    $sp, $r10
119
    14cc:       91 2c           dec     $sp, 0x2c
120
    14ce:       2e 55           xor     $r3, $r3
121
    14d0:       37 05 ff eb     sto.b   0xffeb($fp), $r3
122
    14d4:       2e 55           xor     $r3, $r3
123
    14d6:       0e 35           cmp     $r1, $r3
124
    14d8:       c4 05           bne     14e4 <putxval+0x22>
125
    14da:       0e 45           cmp     $r2, $r3
126
    14dc:       c4 03           bne     14e4 <putxval+0x22>
127
    14de:       01 40 00 00     ldi.l   $r2, 0x1
128
    14e2:       00 01 
129
    14e4:       02 50           mov     $r3, $fp
130
    14e6:       95 16           dec     $r3, 0x16
131
    14e8:       2e 66           xor     $r4, $r4
132
    14ea:       1b c0 00 00     ldi.b   $r10, 0x30
133
    14ee:       00 30 
134
    14f0:       01 a0 00 00     ldi.l   $r8, 0x1640
135
    14f4:       16 40 
136
    14f6:       01 90 00 00     ldi.l   $r7, 0xf
137
    14fa:       00 0f 
138
    14fc:       01 80 00 00     ldi.l   $r6, 0x4
139
    1500:       00 04 
140
    1502:       1a 00 00 00     jmpa    151e <putxval+0x5c>
141
    1506:       15 1e 
142
    1508:       02 73           mov     $r5, $r1
143
    150a:       26 79           and     $r5, $r7
144
    150c:       02 ba           mov     $r9, $r8
145
    150e:       05 b7           add     $r9, $r5
146
    1510:       1c 7b           ld.b    $r5, ($r9)
147
    1512:       1e 57           st.b    ($r3), $r5
148
    1514:       27 38           lshr    $r1, $r6
149
    1516:       0e 46           cmp     $r2, $r4
150
    1518:       c0 01           beq     151c <putxval+0x5a>
151
    151a:       94 01           dec     $r2, 0x1
152
    151c:       95 01           dec     $r3, 0x1
153
    151e:       0e 36           cmp     $r1, $r4
154
    1520:       c7 f3           bne     1508 <putxval+0x46>
155
    1522:       0e 46           cmp     $r2, $r4
156
    1524:       c0 04           beq     152e <putxval+0x6c>
157
    1526:       1e 5c           st.b    ($r3), $r10
158
    1528:       1a 00 00 00     jmpa    151a <putxval+0x58>
159
    152c:       15 1a 
160
    152e:       02 35           mov     $r1, $r3
161
    1530:       83 01           inc     $r1, 0x1
162
    1532:       03 00 00 00     jsra    1480 <puts>
163
    1536:       14 80 
164
    1538:       2e 22           xor     $r0, $r0
165
    153a:       02 e0           mov     $r12, $fp
166
    153c:       9e 14           dec     $r12, 0x14
167
    153e:       07 ec           pop     $r12, $r10
168
    1540:       07 eb           pop     $r12, $r9
169
    1542:       07 ea           pop     $r12, $r8
170
    1544:       07 e9           pop     $r12, $r7
171
    1546:       07 e8           pop     $r12, $r6
172
    1548:       04 00           ret
173

    
174
0000154a <set_random_seed>:
175
    154a:       16 20           bad
176
    154c:       04 00           ret
177

    
178
0000154e <get_random_value>:
179
    154e:       17 20           bad
180
    1550:       04 00           ret
181

    
182
00001552 <decode>:
183
    1552:       06 18           push    $sp, $r6
184
    1554:       06 19           push    $sp, $r7
185
    1556:       06 1a           push    $sp, $r8
186
    1558:       06 1b           push    $sp, $r9
187
    155a:       06 1c           push    $sp, $r10
188
    155c:       06 1d           push    $sp, $r11
189
    155e:       91 18           dec     $sp, 0x18
190
    1560:       02 d2           mov     $r11, $r0
191
    1562:       1c 42           ld.b    $r2, ($r0)
192
    1564:       2e 22           xor     $r0, $r0
193
    1566:       0e 42           cmp     $r2, $r0
194
    1568:       c0 12           beq     158e <decode+0x3c>
195
    156a:       02 a3           mov     $r8, $r1
196
    156c:       02 9d           mov     $r7, $r11
197
    156e:       01 c0 00 00     ldi.l   $r10, 0x154e
198
    1572:       15 4e 
199
    1574:       1c 8a           ld.b    $r6, ($r8)
200
    1576:       2e 22           xor     $r0, $r0
201
    1578:       19 c0           jsr     $r10
202
    157a:       2e 82           xor     $r6, $r0
203
    157c:       1c 29           ld.b    $r0, ($r7)
204
    157e:       2e 82           xor     $r6, $r0
205
    1580:       1e 98           st.b    ($r7), $r6
206
    1582:       89 01           inc     $r7, 0x1
207
    1584:       8a 01           inc     $r8, 0x1
208
    1586:       1c 39           ld.b    $r1, ($r7)
209
    1588:       2e 22           xor     $r0, $r0
210
    158a:       0e 32           cmp     $r1, $r0
211
    158c:       c7 f3           bne     1574 <decode+0x22>
212
    158e:       02 2d           mov     $r0, $r11
213
    1590:       02 e0           mov     $r12, $fp
214
    1592:       9e 18           dec     $r12, 0x18
215
    1594:       07 ed           pop     $r12, $r11
216
    1596:       07 ec           pop     $r12, $r10
217
    1598:       07 eb           pop     $r12, $r9
218
    159a:       07 ea           pop     $r12, $r8
219
    159c:       07 e9           pop     $r12, $r7
220
    159e:       07 e8           pop     $r12, $r6
221
    15a0:       04 00           ret
222

    
223
000015a2 <main>:
224
    15a2:       06 18           push    $sp, $r6
225
    15a4:       91 18           dec     $sp, 0x18
226
    15a6:       01 20 92 d6     ldi.l   $r0, 0x92d68ca2
227
    15aa:       8c a2 
228
    15ac:       03 00 00 00     jsra    154a <set_random_seed>
229
    15b0:       15 4a 
230
    15b2:       01 80 00 00     ldi.l   $r6, 0x1480
231
    15b6:       14 80 
232
    15b8:       01 20 00 00     ldi.l   $r0, 0x1
233
    15bc:       00 01 
234
    15be:       01 30 00 00     ldi.l   $r1, 0x1654
235
    15c2:       16 54 
236
    15c4:       19 80           jsr     $r6
237
    15c6:       01 20 00 00     ldi.l   $r0, 0x1
238
    15ca:       00 01 
239
    15cc:       01 30 00 00     ldi.l   $r1, 0x1680
240
    15d0:       16 80 
241
    15d2:       19 80           jsr     $r6
242
    15d4:       01 20 00 00     ldi.l   $r0, 0x1
243
    15d8:       00 01 
244
    15da:       01 30 00 00     ldi.l   $r1, 0x169c
245
    15de:       16 9c 
246
    15e0:       19 80           jsr     $r6
247
    15e2:       01 20 00 00     ldi.l   $r0, 0x1
248
    15e6:       00 01 
249
    15e8:       01 30 00 00     ldi.l   $r1, 0x16ac
250
    15ec:       16 ac 
251
    15ee:       19 80           jsr     $r6
252
    15f0:       01 20 00 00     ldi.l   $r0, 0x1
253
    15f4:       00 01 
254
    15f6:       01 30 00 00     ldi.l   $r1, 0x16c4
255
    15fa:       16 c4 
256
    15fc:       19 80           jsr     $r6
257
    15fe:       01 20 00 00     ldi.l   $r0, 0x1
258
    1602:       00 01 
259
    1604:       01 30 00 00     ldi.l   $r1, 0x16e0
260
    1608:       16 e0 
261
    160a:       19 80           jsr     $r6
262
    160c:       01 20 00 00     ldi.l   $r0, 0x1800
263
    1610:       18 00 
264
    1612:       01 30 00 00     ldi.l   $r1, 0x1820
265
    1616:       18 20 
266
    1618:       03 00 00 00     jsra    1552 <decode>
267
    161c:       15 52 
268
    161e:       02 32           mov     $r1, $r0
269
    1620:       01 20 00 00     ldi.l   $r0, 0x1
270
    1624:       00 01 
271
    1626:       19 80           jsr     $r6
272
    1628:       01 20 00 00     ldi.l   $r0, 0x1
273
    162c:       00 01 
274
    162e:       01 30 00 00     ldi.l   $r1, 0x167c
275
    1632:       16 7c 
276
    1634:       19 80           jsr     $r6
277
    1636:       2e 22           xor     $r0, $r0
278
    1638:       03 00 00 00     jsra    144a <exit>
279
    163c:       14 4a 
クリップボードから画像を追加 (サイズの上限: 100 MB)