1019 lines
25 KiB
Smali
1019 lines
25 KiB
Smali
.class public Lcom/baidu/mobads/g/b;
|
|
.super Ljava/io/File;
|
|
.source "SourceFile"
|
|
|
|
|
|
# annotations
|
|
.annotation system Ldalvik/annotation/MemberClasses;
|
|
value = {
|
|
Lcom/baidu/mobads/g/b$a;
|
|
}
|
|
.end annotation
|
|
|
|
|
|
# static fields
|
|
.field private static f:Ldalvik/system/DexClassLoader;
|
|
|
|
|
|
# instance fields
|
|
.field private a:Lcom/baidu/mobads/g/e;
|
|
|
|
.field private b:Ljava/lang/Class;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/lang/Class<",
|
|
"*>;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private c:Landroid/content/Context;
|
|
|
|
.field private d:Ljava/security/PublicKey;
|
|
|
|
.field private e:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
|
|
|
|
|
|
# direct methods
|
|
.method static constructor <clinit>()V
|
|
.locals 0
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public constructor <init>(Ljava/lang/String;Landroid/content/Context;)V
|
|
.locals 1
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 55
|
|
invoke-direct {p0, p1, p2, v0}, Lcom/baidu/mobads/g/b;-><init>(Ljava/lang/String;Landroid/content/Context;Lcom/baidu/mobads/g/e;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public constructor <init>(Ljava/lang/String;Landroid/content/Context;Lcom/baidu/mobads/g/e;)V
|
|
.locals 1
|
|
|
|
.line 59
|
|
invoke-direct {p0, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
|
|
|
|
const/4 p1, 0x0
|
|
|
|
.line 41
|
|
iput-object p1, p0, Lcom/baidu/mobads/g/b;->b:Ljava/lang/Class;
|
|
|
|
.line 42
|
|
iput-object p1, p0, Lcom/baidu/mobads/g/b;->c:Landroid/content/Context;
|
|
|
|
.line 46
|
|
invoke-static {}, Lcom/baidu/mobads/utils/XAdSDKFoundationFacade;->getInstance()Lcom/baidu/mobads/utils/XAdSDKFoundationFacade;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Lcom/baidu/mobads/utils/XAdSDKFoundationFacade;->getAdLogger()Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
|
|
|
|
move-result-object v0
|
|
|
|
iput-object v0, p0, Lcom/baidu/mobads/g/b;->e:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
|
|
|
|
.line 60
|
|
iput-object p2, p0, Lcom/baidu/mobads/g/b;->c:Landroid/content/Context;
|
|
|
|
.line 61
|
|
iput-object p3, p0, Lcom/baidu/mobads/g/b;->a:Lcom/baidu/mobads/g/e;
|
|
|
|
if-eqz p3, :cond_0
|
|
|
|
:try_start_0
|
|
const-string p2, "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDBcp8gg3O7bjdnz+pSxg+JH/mbcKfm7dEjcRqVNAFwG7bTpLwDQh40bZJzrcBKQWbD6kArR6TPuQUCMQ09/y55Vk1P2Kq7vJGGisFpjlqv2qlg8drLdhXkLQUt/SeZVJgT+CNxVbuzxAF61EEf8M0MHi1I2dm6n6lOA6fomiCD9wIDAQAB"
|
|
|
|
.line 69
|
|
invoke-static {p2}, Lcom/baidu/mobads/g/b;->c(Ljava/lang/String;)Ljava/security/PublicKey;
|
|
|
|
move-result-object p2
|
|
|
|
iput-object p2, p0, Lcom/baidu/mobads/g/b;->d:Ljava/security/PublicKey;
|
|
:try_end_0
|
|
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 71
|
|
:catch_0
|
|
iput-object p1, p0, Lcom/baidu/mobads/g/b;->d:Ljava/security/PublicKey;
|
|
|
|
:cond_0
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private a(Ljava/io/File;)Ljava/lang/String;
|
|
.locals 9
|
|
|
|
const-string v0, ""
|
|
|
|
const/4 v1, 0x2
|
|
|
|
const/4 v2, 0x0
|
|
|
|
const/4 v3, 0x1
|
|
|
|
const/4 v4, 0x0
|
|
|
|
.line 158
|
|
:try_start_0
|
|
new-instance v5, Ljava/io/FileInputStream;
|
|
|
|
invoke-direct {v5, p1}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
|
|
:try_end_0
|
|
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_2
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_1
|
|
|
|
:try_start_1
|
|
const-string p1, "MD5"
|
|
|
|
.line 159
|
|
invoke-static {p1}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
|
|
|
|
move-result-object p1
|
|
|
|
.line 160
|
|
new-instance v4, Ljava/security/DigestInputStream;
|
|
|
|
invoke-direct {v4, v5, p1}, Ljava/security/DigestInputStream;-><init>(Ljava/io/InputStream;Ljava/security/MessageDigest;)V
|
|
|
|
const/16 v6, 0x1000
|
|
|
|
.line 162
|
|
new-array v6, v6, [B
|
|
|
|
.line 163
|
|
:goto_0
|
|
invoke-virtual {v4, v6}, Ljava/security/DigestInputStream;->read([B)I
|
|
|
|
move-result v7
|
|
|
|
const/4 v8, -0x1
|
|
|
|
if-eq v7, v8, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 167
|
|
:cond_0
|
|
invoke-virtual {p1}, Ljava/security/MessageDigest;->digest()[B
|
|
|
|
move-result-object p1
|
|
|
|
move-object v4, v0
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 168
|
|
:goto_1
|
|
array-length v6, p1
|
|
|
|
if-ge v0, v6, :cond_1
|
|
|
|
.line 169
|
|
new-instance v6, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
aget-byte v4, p1, v0
|
|
|
|
and-int/lit16 v4, v4, 0xff
|
|
|
|
add-int/lit16 v4, v4, 0x100
|
|
|
|
const/16 v7, 0x10
|
|
|
|
invoke-static {v4, v7}, Ljava/lang/Integer;->toString(II)Ljava/lang/String;
|
|
|
|
move-result-object v4
|
|
|
|
invoke-virtual {v4, v3}, Ljava/lang/String;->substring(I)Ljava/lang/String;
|
|
|
|
move-result-object v4
|
|
|
|
invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v4
|
|
:try_end_1
|
|
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_1
|
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
|
|
|
add-int/lit8 v0, v0, 0x1
|
|
|
|
goto :goto_1
|
|
|
|
.line 177
|
|
:cond_1
|
|
:try_start_2
|
|
invoke-virtual {v5}, Ljava/io/InputStream;->close()V
|
|
:try_end_2
|
|
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_0
|
|
|
|
goto :goto_2
|
|
|
|
:catch_0
|
|
move-exception p1
|
|
|
|
.line 180
|
|
iget-object v0, p0, Lcom/baidu/mobads/g/b;->e:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
|
|
|
|
new-array v1, v1, [Ljava/lang/Object;
|
|
|
|
const-string v5, "XAdLocalApkFile"
|
|
|
|
aput-object v5, v1, v2
|
|
|
|
invoke-virtual {p1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
aput-object p1, v1, v3
|
|
|
|
invoke-interface {v0, v1}, Lcom/baidu/mobads/interfaces/utils/IXAdLogger;->e([Ljava/lang/Object;)I
|
|
|
|
:goto_2
|
|
move-object p1, v4
|
|
|
|
goto :goto_4
|
|
|
|
:catchall_0
|
|
move-exception p1
|
|
|
|
goto :goto_5
|
|
|
|
:catch_1
|
|
move-exception p1
|
|
|
|
move-object v4, v5
|
|
|
|
goto :goto_3
|
|
|
|
:catchall_1
|
|
move-exception p1
|
|
|
|
move-object v5, v4
|
|
|
|
goto :goto_5
|
|
|
|
:catch_2
|
|
move-exception p1
|
|
|
|
.line 172
|
|
:goto_3
|
|
:try_start_3
|
|
iget-object v0, p0, Lcom/baidu/mobads/g/b;->e:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
|
|
|
|
new-array v5, v1, [Ljava/lang/Object;
|
|
|
|
const-string v6, "XAdLocalApkFile"
|
|
|
|
aput-object v6, v5, v2
|
|
|
|
invoke-virtual {p1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
aput-object p1, v5, v3
|
|
|
|
invoke-interface {v0, v5}, Lcom/baidu/mobads/interfaces/utils/IXAdLogger;->e([Ljava/lang/Object;)I
|
|
|
|
const-string p1, ""
|
|
:try_end_3
|
|
.catchall {:try_start_3 .. :try_end_3} :catchall_1
|
|
|
|
if-eqz v4, :cond_2
|
|
|
|
.line 177
|
|
:try_start_4
|
|
invoke-virtual {v4}, Ljava/io/InputStream;->close()V
|
|
:try_end_4
|
|
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_4} :catch_3
|
|
|
|
goto :goto_4
|
|
|
|
:catch_3
|
|
move-exception v0
|
|
|
|
.line 180
|
|
iget-object v4, p0, Lcom/baidu/mobads/g/b;->e:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
|
|
|
|
new-array v1, v1, [Ljava/lang/Object;
|
|
|
|
const-string v5, "XAdLocalApkFile"
|
|
|
|
aput-object v5, v1, v2
|
|
|
|
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
aput-object v0, v1, v3
|
|
|
|
invoke-interface {v4, v1}, Lcom/baidu/mobads/interfaces/utils/IXAdLogger;->e([Ljava/lang/Object;)I
|
|
|
|
:cond_2
|
|
:goto_4
|
|
return-object p1
|
|
|
|
:goto_5
|
|
if-eqz v5, :cond_3
|
|
|
|
.line 177
|
|
:try_start_5
|
|
invoke-virtual {v5}, Ljava/io/InputStream;->close()V
|
|
:try_end_5
|
|
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_5} :catch_4
|
|
|
|
goto :goto_6
|
|
|
|
:catch_4
|
|
move-exception v0
|
|
|
|
.line 180
|
|
iget-object v4, p0, Lcom/baidu/mobads/g/b;->e:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
|
|
|
|
new-array v1, v1, [Ljava/lang/Object;
|
|
|
|
const-string v5, "XAdLocalApkFile"
|
|
|
|
aput-object v5, v1, v2
|
|
|
|
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
aput-object v0, v1, v3
|
|
|
|
invoke-interface {v4, v1}, Lcom/baidu/mobads/interfaces/utils/IXAdLogger;->e([Ljava/lang/Object;)I
|
|
|
|
.line 175
|
|
:cond_3
|
|
:goto_6
|
|
throw p1
|
|
.end method
|
|
|
|
.method private b(Ljava/io/File;)Ljava/lang/Class;
|
|
.locals 11
|
|
.annotation build Landroid/annotation/TargetApi;
|
|
value = 0xe
|
|
.end annotation
|
|
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"(",
|
|
"Ljava/io/File;",
|
|
")",
|
|
"Ljava/lang/Class<",
|
|
"*>;"
|
|
}
|
|
.end annotation
|
|
|
|
.line 211
|
|
iget-object v0, p0, Lcom/baidu/mobads/g/b;->e:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
|
|
|
|
const-string v1, "XAdLocalApkFile"
|
|
|
|
new-instance v2, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v3, "Android version:"
|
|
|
|
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
sget-object v3, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;
|
|
|
|
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-interface {v0, v1, v2}, Lcom/baidu/mobads/interfaces/utils/IXAdLogger;->d(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
const/4 v0, 0x0
|
|
|
|
const/4 v1, 0x1
|
|
|
|
.line 214
|
|
:try_start_0
|
|
const-class v2, Lcom/baidu/mobads/g/g;
|
|
|
|
monitor-enter v2
|
|
:try_end_0
|
|
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_1
|
|
|
|
.line 217
|
|
:try_start_1
|
|
invoke-virtual {p1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
|
|
|
|
move-result-object v3
|
|
|
|
.line 219
|
|
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
|
|
|
|
move-result-object v4
|
|
|
|
invoke-virtual {v4}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
|
|
|
|
move-result-object v4
|
|
|
|
.line 220
|
|
iget-object v5, p0, Lcom/baidu/mobads/g/b;->c:Landroid/content/Context;
|
|
|
|
invoke-virtual {v5}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
|
|
|
|
move-result-object v5
|
|
|
|
invoke-virtual {v5}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
|
|
|
|
move-result-object v5
|
|
|
|
.line 225
|
|
new-instance v6, Ldalvik/system/DexClassLoader;
|
|
|
|
invoke-direct {v6, v3, v5, v0, v4}, Ldalvik/system/DexClassLoader;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V
|
|
|
|
.line 226
|
|
sput-object v6, Lcom/baidu/mobads/g/b;->f:Ldalvik/system/DexClassLoader;
|
|
|
|
.line 227
|
|
iget-object v7, p0, Lcom/baidu/mobads/g/b;->e:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
|
|
|
|
const-string v8, "XAdLocalApkFile"
|
|
|
|
new-instance v9, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v10, "dexPath="
|
|
|
|
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v9, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
const-string v3, ", cl="
|
|
|
|
invoke-virtual {v9, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v9, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
const-string v3, ", dir="
|
|
|
|
invoke-virtual {v9, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v9, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
const-string v3, ", loader="
|
|
|
|
invoke-virtual {v9, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v9, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
const-string v3, ", len="
|
|
|
|
invoke-virtual {v9, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p1}, Ljava/io/File;->length()J
|
|
|
|
move-result-wide v3
|
|
|
|
invoke-virtual {v9, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
|
|
|
|
const-string v3, ", list="
|
|
|
|
invoke-virtual {v9, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p1}, Ljava/io/File;->list()[Ljava/lang/String;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-virtual {v9, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-interface {v7, v8, v3}, Lcom/baidu/mobads/interfaces/utils/IXAdLogger;->i(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
const-string v3, "com.baidu.mobads.container.AllInOneXAdContainerFactory"
|
|
|
|
.line 230
|
|
invoke-static {v3, v1, v6}, Ljava/lang/Class;->forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
|
|
|
|
move-result-object v3
|
|
|
|
.line 234
|
|
monitor-exit v2
|
|
:try_end_1
|
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
|
|
|
.line 245
|
|
invoke-direct {p0}, Lcom/baidu/mobads/g/b;->e()V
|
|
|
|
move-object v0, v3
|
|
|
|
goto :goto_0
|
|
|
|
:catchall_0
|
|
move-exception v3
|
|
|
|
.line 234
|
|
:try_start_2
|
|
monitor-exit v2
|
|
:try_end_2
|
|
.catchall {:try_start_2 .. :try_end_2} :catchall_0
|
|
|
|
:try_start_3
|
|
throw v3
|
|
:try_end_3
|
|
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_3} :catch_0
|
|
.catchall {:try_start_3 .. :try_end_3} :catchall_1
|
|
|
|
:catchall_1
|
|
move-exception p1
|
|
|
|
goto :goto_1
|
|
|
|
:catch_0
|
|
move-exception v2
|
|
|
|
.line 236
|
|
:try_start_4
|
|
invoke-virtual {v2}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
|
|
|
|
move-result-object v2
|
|
|
|
.line 237
|
|
iget-object v3, p0, Lcom/baidu/mobads/g/b;->e:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
|
|
|
|
const/4 v4, 0x2
|
|
|
|
new-array v4, v4, [Ljava/lang/Object;
|
|
|
|
const/4 v5, 0x0
|
|
|
|
const-string v6, "XAdLocalApkFile"
|
|
|
|
aput-object v6, v4, v5
|
|
|
|
aput-object v2, v4, v1
|
|
|
|
invoke-interface {v3, v4}, Lcom/baidu/mobads/interfaces/utils/IXAdLogger;->e([Ljava/lang/Object;)I
|
|
:try_end_4
|
|
.catchall {:try_start_4 .. :try_end_4} :catchall_1
|
|
|
|
.line 245
|
|
invoke-direct {p0}, Lcom/baidu/mobads/g/b;->e()V
|
|
|
|
.line 243
|
|
:goto_0
|
|
iget-object v1, p0, Lcom/baidu/mobads/g/b;->e:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
|
|
|
|
const-string v2, "XAdLocalApkFile"
|
|
|
|
new-instance v3, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v4, "jar.path="
|
|
|
|
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
const-string p1, ", clz="
|
|
|
|
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-interface {v1, v2, p1}, Lcom/baidu/mobads/interfaces/utils/IXAdLogger;->i(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return-object v0
|
|
|
|
.line 245
|
|
:goto_1
|
|
invoke-direct {p0}, Lcom/baidu/mobads/g/b;->e()V
|
|
|
|
.line 240
|
|
throw p1
|
|
.end method
|
|
|
|
.method private b(Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 3
|
|
|
|
.line 125
|
|
iget-object v0, p0, Lcom/baidu/mobads/g/b;->d:Ljava/security/PublicKey;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 126
|
|
invoke-static {p1, v0}, Landroid/util/Base64;->decode(Ljava/lang/String;I)[B
|
|
|
|
move-result-object p1
|
|
|
|
:try_start_0
|
|
const-string v0, "RSA/ECB/PKCS1Padding"
|
|
|
|
.line 128
|
|
invoke-static {v0}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
|
|
|
|
move-result-object v0
|
|
|
|
const/4 v1, 0x2
|
|
|
|
.line 129
|
|
iget-object v2, p0, Lcom/baidu/mobads/g/b;->d:Ljava/security/PublicKey;
|
|
|
|
invoke-virtual {v0, v1, v2}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;)V
|
|
|
|
.line 130
|
|
invoke-virtual {v0, p1}, Ljavax/crypto/Cipher;->doFinal([B)[B
|
|
|
|
move-result-object p1
|
|
|
|
.line 131
|
|
new-instance v0, Ljava/lang/String;
|
|
|
|
const-string v1, "UTF-8"
|
|
|
|
invoke-direct {v0, p1, v1}, Ljava/lang/String;-><init>([BLjava/lang/String;)V
|
|
|
|
invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
:try_end_0
|
|
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
return-object p1
|
|
|
|
:catch_0
|
|
move-exception p1
|
|
|
|
.line 133
|
|
iget-object v0, p0, Lcom/baidu/mobads/g/b;->e:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
|
|
|
|
const-string v1, "ErrorWhileVerifySigNature"
|
|
|
|
invoke-interface {v0, v1, p1}, Lcom/baidu/mobads/interfaces/utils/IXAdLogger;->e(Ljava/lang/String;Ljava/lang/Throwable;)I
|
|
|
|
:cond_0
|
|
const/4 p1, 0x0
|
|
|
|
return-object p1
|
|
.end method
|
|
|
|
.method private static c(Ljava/lang/String;)Ljava/security/PublicKey;
|
|
.locals 2
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 141
|
|
:try_start_0
|
|
invoke-static {p0, v0}, Landroid/util/Base64;->decode(Ljava/lang/String;I)[B
|
|
|
|
move-result-object p0
|
|
|
|
const-string v0, "RSA"
|
|
|
|
.line 142
|
|
invoke-static {v0}, Ljava/security/KeyFactory;->getInstance(Ljava/lang/String;)Ljava/security/KeyFactory;
|
|
|
|
move-result-object v0
|
|
|
|
.line 143
|
|
new-instance v1, Ljava/security/spec/X509EncodedKeySpec;
|
|
|
|
invoke-direct {v1, p0}, Ljava/security/spec/X509EncodedKeySpec;-><init>([B)V
|
|
|
|
.line 144
|
|
invoke-virtual {v0, v1}, Ljava/security/KeyFactory;->generatePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
|
|
|
|
move-result-object p0
|
|
:try_end_0
|
|
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_0 .. :try_end_0} :catch_2
|
|
.catch Ljava/security/spec/InvalidKeySpecException; {:try_start_0 .. :try_end_0} :catch_1
|
|
.catch Ljava/lang/NullPointerException; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
return-object p0
|
|
|
|
.line 150
|
|
:catch_0
|
|
new-instance p0, Ljava/lang/Exception;
|
|
|
|
const-string v0, "NullPointerException"
|
|
|
|
invoke-direct {p0, v0}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p0
|
|
|
|
.line 148
|
|
:catch_1
|
|
new-instance p0, Ljava/lang/Exception;
|
|
|
|
const-string v0, "InvalidKeySpecException"
|
|
|
|
invoke-direct {p0, v0}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p0
|
|
|
|
.line 146
|
|
:catch_2
|
|
new-instance p0, Ljava/lang/Exception;
|
|
|
|
const-string v0, "NoSuchAlgorithmException"
|
|
|
|
invoke-direct {p0, v0}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p0
|
|
.end method
|
|
|
|
.method public static d()Ldalvik/system/DexClassLoader;
|
|
.locals 1
|
|
|
|
.line 249
|
|
sget-object v0, Lcom/baidu/mobads/g/b;->f:Ldalvik/system/DexClassLoader;
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method private e()V
|
|
.locals 5
|
|
|
|
.line 187
|
|
new-instance v0, Lcom/baidu/mobads/g/b$a;
|
|
|
|
invoke-direct {v0, p0}, Lcom/baidu/mobads/g/b$a;-><init>(Lcom/baidu/mobads/g/b;)V
|
|
|
|
.line 188
|
|
iget-object v1, p0, Lcom/baidu/mobads/g/b;->c:Landroid/content/Context;
|
|
|
|
invoke-virtual {v1}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
|
|
|
|
move-result-object v1
|
|
|
|
.line 189
|
|
invoke-virtual {v1, v0}, Ljava/io/File;->listFiles(Ljava/io/FilenameFilter;)[Ljava/io/File;
|
|
|
|
move-result-object v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 190
|
|
array-length v2, v0
|
|
|
|
if-ge v1, v2, :cond_1
|
|
|
|
.line 191
|
|
aget-object v2, v0, v1
|
|
|
|
invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
|
|
|
|
move-result-object v2
|
|
|
|
const-string v3, "__xadsdk__remote__final__"
|
|
|
|
invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_0
|
|
|
|
const-string v2, "XAdLocalApkFile"
|
|
|
|
.line 192
|
|
new-instance v3, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v4, "clearDexCacheFiles-->"
|
|
|
|
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
const-string v4, "--"
|
|
|
|
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
aget-object v4, v0, v1
|
|
|
|
invoke-virtual {v4}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
|
|
|
|
move-result-object v4
|
|
|
|
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 193
|
|
aget-object v2, v0, v1
|
|
|
|
invoke-virtual {v2}, Ljava/io/File;->delete()Z
|
|
|
|
:cond_0
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|
|
|
|
|
|
# virtual methods
|
|
.method protected a()V
|
|
.locals 5
|
|
|
|
.line 77
|
|
iget-object v0, p0, Lcom/baidu/mobads/g/b;->a:Lcom/baidu/mobads/g/e;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 78
|
|
new-instance v0, Ljava/io/File;
|
|
|
|
invoke-virtual {p0}, Lcom/baidu/mobads/g/b;->getAbsolutePath()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
|
|
|
|
invoke-direct {p0, v0}, Lcom/baidu/mobads/g/b;->a(Ljava/io/File;)Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
.line 79
|
|
iget-object v1, p0, Lcom/baidu/mobads/g/b;->a:Lcom/baidu/mobads/g/e;
|
|
|
|
invoke-virtual {v1}, Lcom/baidu/mobads/g/e;->d()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-direct {p0, v1}, Lcom/baidu/mobads/g/b;->b(Ljava/lang/String;)Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
.line 81
|
|
invoke-virtual {v1, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 82
|
|
:cond_0
|
|
new-instance v2, Lcom/baidu/mobads/g/g$a;
|
|
|
|
new-instance v3, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v4, "doCheckApkIntegrity failed, md5sum: "
|
|
|
|
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
const-string v0, ", checksum in json info: "
|
|
|
|
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-direct {v2, v0}, Lcom/baidu/mobads/g/g$a;-><init>(Ljava/lang/String;)V
|
|
|
|
throw v2
|
|
|
|
:cond_1
|
|
const-string v0, "XAdLocalApkFile"
|
|
|
|
const-string v1, "built-in apk, no need to check"
|
|
|
|
.line 86
|
|
invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method protected a(Ljava/lang/String;)V
|
|
.locals 1
|
|
|
|
.line 116
|
|
new-instance v0, Ljava/io/File;
|
|
|
|
invoke-direct {v0, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
|
|
|
|
.line 117
|
|
invoke-virtual {p0, v0}, Lcom/baidu/mobads/g/b;->renameTo(Ljava/io/File;)Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method protected b()Ljava/lang/Class;
|
|
.locals 2
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"()",
|
|
"Ljava/lang/Class<",
|
|
"*>;"
|
|
}
|
|
.end annotation
|
|
|
|
.line 96
|
|
iget-object v0, p0, Lcom/baidu/mobads/g/b;->b:Ljava/lang/Class;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 97
|
|
new-instance v0, Ljava/io/File;
|
|
|
|
invoke-virtual {p0}, Lcom/baidu/mobads/g/b;->getAbsolutePath()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
|
|
|
|
.line 99
|
|
:try_start_0
|
|
invoke-direct {p0, v0}, Lcom/baidu/mobads/g/b;->b(Ljava/io/File;)Ljava/lang/Class;
|
|
|
|
move-result-object v1
|
|
|
|
iput-object v1, p0, Lcom/baidu/mobads/g/b;->b:Ljava/lang/Class;
|
|
:try_end_0
|
|
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 109
|
|
:catch_0
|
|
invoke-virtual {v0}, Ljava/io/File;->delete()Z
|
|
|
|
.line 112
|
|
:cond_0
|
|
:goto_0
|
|
iget-object v0, p0, Lcom/baidu/mobads/g/b;->b:Ljava/lang/Class;
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method protected c()D
|
|
.locals 2
|
|
|
|
.line 121
|
|
iget-object v0, p0, Lcom/baidu/mobads/g/b;->a:Lcom/baidu/mobads/g/e;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const-wide/16 v0, 0x0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Lcom/baidu/mobads/g/b;->a:Lcom/baidu/mobads/g/e;
|
|
|
|
invoke-virtual {v0}, Lcom/baidu/mobads/g/e;->b()D
|
|
|
|
move-result-wide v0
|
|
|
|
:goto_0
|
|
return-wide v0
|
|
.end method
|