i.smali
.class public Lcom/ijinshan/pluginslive/plugin/util/i;
.super Ljava/lang/Object;
.source "PluginCheckUtil.java"
# direct methods
.method public static a(Ljava/io/File;)Z
.registers 6
.prologue
const/4 v0, 0x1
const/4 v1, 0x0
.line 26
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v3, 0xe
if-ge v2, v3, :cond_9
.line 58
:cond_8
:goto_8
return v0
.line 31
:cond_9
if-eqz p0, :cond_11
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v2
if-nez v2, :cond_13
:cond_11
move v0, v1
.line 32
goto :goto_8
.line 35
:cond_13
invoke-static {}, Lcom/ijinshan/pluginslive/b;->a()Landroid/content/Context;
move-result-object v2
.line 36
invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v2
.line 39
:try_start_1b
invoke-virtual {p0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v3
const/16 v4, 0x40
invoke-virtual {v2, v3, v4}, Landroid/content/pm/PackageManager;->getPackageArchiveInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
:try_end_24
.catch Ljava/lang/Exception; {:try_start_1b .. :try_end_24} :catch_32
move-result-object v2
.line 44
if-eqz v2, :cond_2b
iget-object v3, v2, Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature;
if-nez v3, :cond_3a
.line 45
:cond_2b
const-string v0, "get packageinfo error: signatures is empty"
invoke-static {v0}, Lcom/ijinshan/pluginslive/b;->c(Ljava/lang/String;)V
move v0, v1
.line 46
goto :goto_8
.line 40
:catch_32
move-exception v0
.line 41
const-string v2, "get packageinfo error"
invoke-static {v2, v0}, Lcom/ijinshan/pluginslive/b;->a(Ljava/lang/String;Ljava/lang/Throwable;)V
move v0, v1
.line 42
goto :goto_8
.line 48
:cond_3a
iget-object v2, v2, Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature;
invoke-static {v2}, Lcom/ijinshan/pluginslive/plugin/util/i;->a([Landroid/content/pm/Signature;)[Ljava/lang/String;
move-result-object v2
.line 49
if-eqz v2, :cond_45
array-length v3, v2
if-nez v3, :cond_4c
.line 50
:cond_45
const-string v0, "get signatures error"
invoke-static {v0}, Lcom/ijinshan/pluginslive/b;->c(Ljava/lang/String;)V
move v0, v1
.line 51
goto :goto_8
.line 53
:cond_4c
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Signature : "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-static {v2}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lcom/ijinshan/pluginslive/b;->c(Ljava/lang/String;)V
.line 54
const-string v3, "1234290bd65264960a05382588f5b5da"
aget-object v2, v2, v1
invoke-virtual {v3, v2}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v2
if-nez v2, :cond_8
.line 57
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v2, " Signature check fail!"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/ijinshan/pluginslive/b;->c(Ljava/lang/String;)V
move v0, v1
.line 58
goto :goto_8
.end method
.method private static a([Landroid/content/pm/Signature;)[Ljava/lang/String;
.registers 6
.prologue
const/4 v4, 0x2
const/4 v2, 0x0
const/4 v1, 0x0
.line 63
array-length v0, p0
if-nez v0, :cond_8
move-object v0, v1
.line 93
:goto_7
return-object v0
.line 66
:cond_8
aget-object v0, p0, v2
if-nez v0, :cond_e
move-object v0, v1
.line 67
goto :goto_7
.line 69
:cond_e
aget-object v0, p0, v2
invoke-virtual {v0}, Landroid/content/pm/Signature;->toByteArray()[B
move-result-object v0
.line 70
array-length v2, v0
if-gtz v2, :cond_19
move-object v0, v1
.line 71
goto :goto_7
.line 73
:cond_19
new-instance v3, Ljava/io/ByteArrayInputStream;
invoke-direct {v3, v0}, Ljava/io/ByteArrayInputStream;-><init>([B)V
.line 77
new-array v2, v4, [Ljava/lang/String;
.line 79
:try_start_20
const-string v0, "X509"
invoke-static {v0}, Ljava/security/cert/CertificateFactory;->getInstance(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
move-result-object v0
.line 81
invoke-virtual {v0, v3}, Ljava/security/cert/CertificateFactory;->generateCertificate(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
move-result-object v0
check-cast v0, Ljava/security/cert/X509Certificate;
.line 82
invoke-virtual {v0}, Ljava/security/cert/X509Certificate;->getEncoded()[B
move-result-object v3
.line 84
const/4 v4, 0x2
invoke-static {v3, v4}, Landroid/util/Base64;->encodeToString([BI)Ljava/lang/String;
move-result-object v3
.line 85
const/4 v4, 0x0
invoke-virtual {v3}, Ljava/lang/String;->getBytes()[B
move-result-object v3
invoke-static {v3}, Lcom/ijinshan/pluginslive/plugin/util/g;->b([B)Ljava/lang/String;
move-result-object v3
aput-object v3, v2, v4
.line 86
const/4 v3, 0x1
invoke-virtual {v0}, Ljava/security/cert/X509Certificate;->getIssuerDN()Ljava/security/Principal;
move-result-object v0
invoke-interface {v0}, Ljava/security/Principal;->toString()Ljava/lang/String;
move-result-object v0
aput-object v0, v2, v3
:try_end_4b
.catch Ljava/lang/Exception; {:try_start_20 .. :try_end_4b} :catch_4d
move-object v0, v2
.line 93
goto :goto_7
.line 88
:catch_4d
move-exception v0
.line 89
invoke-static {v0}, Lcom/ijinshan/pluginslive/b;->a(Ljava/lang/Throwable;)V
move-object v0, v1
.line 90
goto :goto_7
.end method