byn.smali
.class public Ldxoptimizer/byn;
.super Ljava/lang/Object;
.source "RootScanHelper.java"
# static fields
.field public static a:J
.field public static b:I
.field public static c:I
.field private static e:Ldxoptimizer/byn;
# instance fields
.field private d:Ljava/lang/String;
.field private f:Landroid/content/Context;
.field private g:Z
# direct methods
.method static constructor <clinit>()V
.registers 2
.prologue
.line 26
const-wide/16 v0, 0x1388
sput-wide v0, Ldxoptimizer/byn;->a:J
.line 27
const v0, 0xbd1a
sput v0, Ldxoptimizer/byn;->b:I
.line 28
const/16 v0, 0x1000
sput v0, Ldxoptimizer/byn;->c:I
return-void
.end method
.method private constructor <init>(Landroid/content/Context;)V
.registers 3
.prologue
.line 36
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 29
const-string v0, "s_rts_"
iput-object v0, p0, Ldxoptimizer/byn;->d:Ljava/lang/String;
.line 37
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v0
iput-object v0, p0, Ldxoptimizer/byn;->f:Landroid/content/Context;
.line 38
const/4 v0, 0x0
iput-boolean v0, p0, Ldxoptimizer/byn;->g:Z
.line 39
return-void
.end method
.method public static a(Landroid/content/Context;)Ldxoptimizer/byn;
.registers 2
.prologue
.line 42
sget-object v0, Ldxoptimizer/byn;->e:Ldxoptimizer/byn;
if-nez v0, :cond_b
.line 43
new-instance v0, Ldxoptimizer/byn;
invoke-direct {v0, p0}, Ldxoptimizer/byn;-><init>(Landroid/content/Context;)V
sput-object v0, Ldxoptimizer/byn;->e:Ldxoptimizer/byn;
.line 45
:cond_b
sget-object v0, Ldxoptimizer/byn;->e:Ldxoptimizer/byn;
return-object v0
.end method
.method private a(Ljava/lang/String;)Ljava/lang/String;
.registers 5
.prologue
.line 199
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 200
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "export SOCKETNAME="
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, ";"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 201
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "export CLASSPATH="
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object v2, p0, Ldxoptimizer/byn;->f:Landroid/content/Context;
invoke-virtual {v2}, Landroid/content/Context;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
move-result-object v2
iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->sourceDir:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, ";"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 202
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "exec app_process /system/bin "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-class v2, Ldxoptimizer/bym;
invoke-virtual {v2}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 203
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private a(Ldxoptimizer/byo;)Ljava/util/Set;
.registers 12
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ldxoptimizer/byo;",
")",
"Ljava/util/Set",
"<",
"Ljava/lang/String;",
">;"
}
.end annotation
.prologue
const/4 v3, 0x1
const/4 v1, 0x0
.line 162
if-eqz p1, :cond_a
invoke-virtual {p1}, Ldxoptimizer/byo;->a()Z
move-result v0
if-nez v0, :cond_c
.line 163
:cond_a
const/4 v0, 0x0
.line 195
:goto_b
return-object v0
.line 165
:cond_c
iget-object v4, p1, Ldxoptimizer/byo;->a:[I
.line 166
iget-object v5, p1, Ldxoptimizer/byo;->b:[Ljava/lang/String;
.line 168
new-instance v2, Ljava/util/HashSet;
invoke-direct {v2}, Ljava/util/HashSet;-><init>()V
.line 170
invoke-static {}, Ldxoptimizer/aep;->a()Ldxoptimizer/aep;
move-result-object v0
invoke-virtual {v0, v3, v3}, Ldxoptimizer/aep;->a(ZZ)Ljava/util/ArrayList;
move-result-object v0
.line 172
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v6
:cond_21
:goto_21
invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_5d
invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ldxoptimizer/aeo;
.line 173
invoke-virtual {v0}, Ldxoptimizer/aeo;->d()Ljava/lang/String;
move-result-object v7
.line 174
invoke-virtual {v0}, Ldxoptimizer/aeo;->e()I
move-result v8
.line 176
if-eqz v4, :cond_68
move v0, v1
.line 177
:goto_38
array-length v9, v4
if-ge v0, v9, :cond_68
.line 178
aget v9, v4, v0
if-ne v9, v8, :cond_57
.line 179
invoke-interface {v2, v7}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
move v0, v3
.line 185
:goto_43
if-nez v0, :cond_21
if-eqz v5, :cond_21
move v0, v1
.line 186
:goto_48
array-length v8, v5
if-ge v0, v8, :cond_21
.line 187
aget-object v8, v5, v0
invoke-virtual {v7, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_5a
.line 188
invoke-interface {v2, v7}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
goto :goto_21
.line 177
:cond_57
add-int/lit8 v0, v0, 0x1
goto :goto_38
.line 186
:cond_5a
add-int/lit8 v0, v0, 0x1
goto :goto_48
.line 194
:cond_5d
iget-object v0, p0, Ldxoptimizer/byn;->f:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-interface {v2, v0}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
move-object v0, v2
.line 195
goto :goto_b
:cond_68
move v0, v1
goto :goto_43
.end method
.method static synthetic a(Ldxoptimizer/byn;)Z
.registers 2
.prologue
.line 22
iget-boolean v0, p0, Ldxoptimizer/byn;->g:Z
return v0
.end method
# virtual methods
.method public a()Ljava/util/Set;
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Set",
"<",
"Ljava/lang/String;",
">;"
}
.end annotation
.prologue
const/4 v6, 0x4
const/4 v1, 0x0
.line 50
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v2, p0, Ldxoptimizer/byn;->d:Ljava/lang/String;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 54
:try_start_19
new-instance v2, Landroid/net/LocalServerSocket;
invoke-direct {v2, v0}, Landroid/net/LocalServerSocket;-><init>(Ljava/lang/String;)V
:try_end_1e
.catch Ljava/io/IOException; {:try_start_19 .. :try_end_1e} :catch_2d
.line 60
:try_start_1e
invoke-direct {p0, v0}, Ldxoptimizer/byn;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ldxoptimizer/cep;->f(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_36
.line 61
invoke-virtual {v2}, Landroid/net/LocalServerSocket;->close()V
:try_end_2b
.catch Ljava/lang/Exception; {:try_start_1e .. :try_end_2b} :catch_30
move-object v0, v1
.line 158
:goto_2c
return-object v0
.line 55
:catch_2d
move-exception v0
move-object v0, v1
.line 56
goto :goto_2c
.line 64
:catch_30
move-exception v0
.line 66
:try_start_31
invoke-virtual {v2}, Landroid/net/LocalServerSocket;->close()V
:try_end_34
.catch Ljava/io/IOException; {:try_start_31 .. :try_end_34} :catch_e9
:goto_34
move-object v0, v1
.line 69
goto :goto_2c
.line 72
:cond_36
new-instance v0, Ldxoptimizer/byn$1;
invoke-direct {v0, p0, v2}, Ldxoptimizer/byn$1;-><init>(Ldxoptimizer/byn;Landroid/net/LocalServerSocket;)V
.line 95
invoke-virtual {v0}, Ldxoptimizer/byn$1;->start()V
.line 98
:try_start_3e
invoke-virtual {v2}, Landroid/net/LocalServerSocket;->accept()Landroid/net/LocalSocket;
move-result-object v0
invoke-virtual {v0}, Landroid/net/LocalSocket;->getInputStream()Ljava/io/InputStream;
move-result-object v3
.line 99
const/4 v0, 0x1
iput-boolean v0, p0, Ldxoptimizer/byn;->g:Z
:try_end_49
.catch Ljava/io/IOException; {:try_start_3e .. :try_end_49} :catch_65
.line 108
if-eqz v3, :cond_e0
.line 110
const/4 v0, 0x4
:try_start_4c
new-array v0, v0, [B
.line 111
const/4 v4, 0x4
new-array v4, v4, [B
.line 112
invoke-virtual {v3, v0}, Ljava/io/InputStream;->read([B)I
move-result v5
if-lt v5, v6, :cond_5d
invoke-virtual {v3, v4}, Ljava/io/InputStream;->read([B)I
:try_end_5a
.catch Ljava/lang/Exception; {:try_start_4c .. :try_end_5a} :catch_ce
.catchall {:try_start_4c .. :try_end_5a} :catchall_d8
move-result v5
if-ge v5, v6, :cond_6b
.line 139
:cond_5d
:try_start_5d
invoke-virtual {v3}, Ljava/io/InputStream;->close()V
:try_end_60
.catch Ljava/io/IOException; {:try_start_5d .. :try_end_60} :catch_ef
.line 144
:goto_60
:try_start_60
invoke-virtual {v2}, Landroid/net/LocalServerSocket;->close()V
:try_end_63
.catch Ljava/io/IOException; {:try_start_60 .. :try_end_63} :catch_f2
:goto_63
move-object v0, v1
.line 114
goto :goto_2c
.line 100
:catch_65
move-exception v0
.line 102
:try_start_66
invoke-virtual {v2}, Landroid/net/LocalServerSocket;->close()V
:try_end_69
.catch Ljava/lang/Exception; {:try_start_66 .. :try_end_69} :catch_ec
:goto_69
move-object v0, v1
.line 105
goto :goto_2c
.line 116
:cond_6b
:try_start_6b
sget v5, Ldxoptimizer/byn;->b:I
new-instance v6, Ljava/lang/String;
invoke-direct {v6, v0}, Ljava/lang/String;-><init>([B)V
const/16 v0, 0x10
invoke-static {v6, v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
:try_end_77
.catch Ljava/lang/Exception; {:try_start_6b .. :try_end_77} :catch_ce
.catchall {:try_start_6b .. :try_end_77} :catchall_d8
move-result v0
if-eq v5, v0, :cond_82
.line 139
:try_start_7a
invoke-virtual {v3}, Ljava/io/InputStream;->close()V
:try_end_7d
.catch Ljava/io/IOException; {:try_start_7a .. :try_end_7d} :catch_f5
.line 144
:goto_7d
:try_start_7d
invoke-virtual {v2}, Landroid/net/LocalServerSocket;->close()V
:try_end_80
.catch Ljava/io/IOException; {:try_start_7d .. :try_end_80} :catch_f7
:goto_80
move-object v0, v1
.line 118
goto :goto_2c
.line 120
:cond_82
:try_start_82
new-instance v0, Ljava/lang/String;
invoke-direct {v0, v4}, Ljava/lang/String;-><init>([B)V
const/16 v4, 0x10
invoke-static {v0, v4}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
move-result v0
.line 121
if-lez v0, :cond_93
sget v4, Ldxoptimizer/byn;->c:I
:try_end_91
.catch Ljava/lang/Exception; {:try_start_82 .. :try_end_91} :catch_ce
.catchall {:try_start_82 .. :try_end_91} :catchall_d8
if-le v0, v4, :cond_9b
.line 139
:cond_93
:try_start_93
invoke-virtual {v3}, Ljava/io/InputStream;->close()V
:try_end_96
.catch Ljava/io/IOException; {:try_start_93 .. :try_end_96} :catch_f9
.line 144
:goto_96
:try_start_96
invoke-virtual {v2}, Landroid/net/LocalServerSocket;->close()V
:try_end_99
.catch Ljava/io/IOException; {:try_start_96 .. :try_end_99} :catch_fb
:goto_99
move-object v0, v1
.line 123
goto :goto_2c
.line 125
:cond_9b
:try_start_9b
new-array v4, v0, [B
.line 126
invoke-virtual {v3, v4}, Ljava/io/InputStream;->read([B)I
:try_end_a0
.catch Ljava/lang/Exception; {:try_start_9b .. :try_end_a0} :catch_ce
.catchall {:try_start_9b .. :try_end_a0} :catchall_d8
move-result v5
if-ge v5, v0, :cond_ab
.line 139
:try_start_a3
invoke-virtual {v3}, Ljava/io/InputStream;->close()V
:try_end_a6
.catch Ljava/io/IOException; {:try_start_a3 .. :try_end_a6} :catch_fd
.line 144
:goto_a6
:try_start_a6
invoke-virtual {v2}, Landroid/net/LocalServerSocket;->close()V
:try_end_a9
.catch Ljava/io/IOException; {:try_start_a6 .. :try_end_a9} :catch_ff
:goto_a9
move-object v0, v1
.line 128
goto :goto_2c
.line 130
:cond_ab
:try_start_ab
invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
move-result-object v5
.line 131
const/4 v6, 0x0
invoke-virtual {v5, v4, v6, v0}, Landroid/os/Parcel;->unmarshall([BII)V
.line 132
const/4 v0, 0x0
invoke-virtual {v5, v0}, Landroid/os/Parcel;->setDataPosition(I)V
.line 133
sget-object v0, Ldxoptimizer/byo;->CREATOR:Landroid/os/Parcelable$Creator;
invoke-interface {v0, v5}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ldxoptimizer/byo;
.line 134
invoke-direct {p0, v0}, Ldxoptimizer/byn;->a(Ldxoptimizer/byo;)Ljava/util/Set;
:try_end_c2
.catch Ljava/lang/Exception; {:try_start_ab .. :try_end_c2} :catch_ce
.catchall {:try_start_ab .. :try_end_c2} :catchall_d8
move-result-object v0
.line 139
:try_start_c3
invoke-virtual {v3}, Ljava/io/InputStream;->close()V
:try_end_c6
.catch Ljava/io/IOException; {:try_start_c3 .. :try_end_c6} :catch_101
.line 144
:goto_c6
:try_start_c6
invoke-virtual {v2}, Landroid/net/LocalServerSocket;->close()V
:try_end_c9
.catch Ljava/io/IOException; {:try_start_c6 .. :try_end_c9} :catch_cb
goto/16 :goto_2c
.line 145
:catch_cb
move-exception v1
goto/16 :goto_2c
.line 135
:catch_ce
move-exception v0
.line 139
:try_start_cf
invoke-virtual {v3}, Ljava/io/InputStream;->close()V
:try_end_d2
.catch Ljava/io/IOException; {:try_start_cf .. :try_end_d2} :catch_103
.line 144
:goto_d2
:try_start_d2
invoke-virtual {v2}, Landroid/net/LocalServerSocket;->close()V
:try_end_d5
.catch Ljava/io/IOException; {:try_start_d2 .. :try_end_d5} :catch_105
:goto_d5
move-object v0, v1
.line 158
goto/16 :goto_2c
.line 138
:catchall_d8
move-exception v0
.line 139
:try_start_d9
invoke-virtual {v3}, Ljava/io/InputStream;->close()V
:try_end_dc
.catch Ljava/io/IOException; {:try_start_d9 .. :try_end_dc} :catch_107
.line 144
:goto_dc
:try_start_dc
invoke-virtual {v2}, Landroid/net/LocalServerSocket;->close()V
:try_end_df
.catch Ljava/io/IOException; {:try_start_dc .. :try_end_df} :catch_109
.line 147
:goto_df
throw v0
.line 151
:cond_e0
:try_start_e0
invoke-virtual {v2}, Landroid/net/LocalServerSocket;->close()V
:try_end_e3
.catch Ljava/io/IOException; {:try_start_e0 .. :try_end_e3} :catch_e4
goto :goto_d5
.line 152
:catch_e4
move-exception v0
.line 153
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
goto :goto_d5
.line 67
:catch_e9
move-exception v0
goto/16 :goto_34
.line 103
:catch_ec
move-exception v0
goto/16 :goto_69
.line 140
:catch_ef
move-exception v0
goto/16 :goto_60
.line 145
:catch_f2
move-exception v0
goto/16 :goto_63
.line 140
:catch_f5
move-exception v0
goto :goto_7d
.line 145
:catch_f7
move-exception v0
goto :goto_80
.line 140
:catch_f9
move-exception v0
goto :goto_96
.line 145
:catch_fb
move-exception v0
goto :goto_99
.line 140
:catch_fd
move-exception v0
goto :goto_a6
.line 145
:catch_ff
move-exception v0
goto :goto_a9
.line 140
:catch_101
move-exception v1
goto :goto_c6
:catch_103
move-exception v0
goto :goto_d2
.line 145
:catch_105
move-exception v0
goto :goto_d5
.line 140
:catch_107
move-exception v1
goto :goto_dc
.line 145
:catch_109
move-exception v1
goto :goto_df
.end method