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
|
.class public LSmaliDemo;
.super Ljava/lang/Object;
.method public constructor <init>()V
.locals 0
return-void
.end method
.method public static main([Ljava/lang/String;)V
.locals 4
sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
const-string v1, "Hello, World!"
invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
new-instance v2, LSmaliDemo;
invoke-direct {v2}, LSmaliDemo;-><init>()V
iget-object v3, v2, LSmaliDemo;->data:Ljava/util/List;
const/4 v4, 0x1
aget-object v3, v3, v4
invoke-virtual {v3}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
return-void
.end method
.method public static loadData()Ljava/util/List;
.locals 1
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
const-string v1, "Data"
invoke-virtual {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-object v0
.end method
.method public static performArithmetic()V
.locals 2
const/4 v0, 0x5
add-int/lit8 v0, v0, 0x2
mul-int/lit8 v1, v0, 0x4
return-void
.end method
.method public static controlFlowDemo()V
.locals 1
const/16 v0, 0xa
const/4 v1, 0x5
if-gt v0, v1, :if_1
return-void
:if_1
new-instance v0, LSmaliDemo;
invoke-direct {v0}, LSmaliDemo;-><init>()V
return-object v0
.end method
.method public static highVersionInstructions()V
.locals 2
const/4 v0, 0x1
add-int/lit8 v0, v0, 0x2
const-wide/16 v1, 0x1000
shr-long v1, v1, v0
invoke-static {}, LSmaliDemo;->loadData()Ljava/util/List;
return-void
.end method
|