.class public Lcom/sina/weibo/sdk/utils/SecurityHelper; .super Ljava/lang/Object; .source "SecurityHelper.java" # direct methods .method public constructor ()V .locals 0 .line 35 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static checkResponseAppLegal(Landroid/content/Context;Lcom/sina/weibo/sdk/auth/WbAppInfo;Landroid/content/Intent;)Z .locals 3 const/4 v0, 0x1 if-eqz p1, :cond_0 .line 71 invoke-virtual {p1}, Lcom/sina/weibo/sdk/auth/WbAppInfo;->getSupportVersion()I move-result v1 const/16 v2, 0x2870 if-gt v1, v2, :cond_0 return v0 :cond_0 if-nez p1, :cond_1 return v0 :cond_1 if-eqz p2, :cond_2 const-string p1, "_weibo_appPackage" .line 77 invoke-virtual {p2, p1}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; move-result-object p1 goto :goto_0 :cond_2 const/4 p1, 0x0 :goto_0 if-eqz p1, :cond_4 const-string v1, "_weibo_transaction" .line 80 invoke-virtual {p2, v1}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; move-result-object p2 if-eqz p2, :cond_4 .line 81 invoke-static {p0, p1}, Lcom/sina/weibo/sdk/ApiUtils;->validateWeiboSign(Landroid/content/Context;Ljava/lang/String;)Z move-result p0 if-nez p0, :cond_3 goto :goto_1 :cond_3 return v0 :cond_4 :goto_1 const/4 p0, 0x0 return p0 .end method .method public static containSign([Landroid/content/pm/Signature;Ljava/lang/String;)Z .locals 4 const/4 v0, 0x0 if-eqz p0, :cond_3 if-nez p1, :cond_0 goto :goto_1 .line 97 :cond_0 array-length v1, p0 const/4 v2, 0x0 :goto_0 if-ge v2, v1, :cond_2 aget-object v3, p0, v2 .line 98 invoke-virtual {v3}, Landroid/content/pm/Signature;->toByteArray()[B move-result-object v3 invoke-static {v3}, Lcom/sina/weibo/sdk/utils/MD5;->hexdigest([B)Ljava/lang/String; move-result-object v3 .line 99 invoke-virtual {p1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_1 const/4 p0, 0x1 return p0 :cond_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_2 return v0 :cond_3 :goto_1 return v0 .end method .method public static validateAppSignatureForIntent(Landroid/content/Context;Landroid/content/Intent;)Z .locals 2 .line 45 invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager; move-result-object p0 const/4 v0, 0x0 if-nez p0, :cond_0 return v0 .line 49 :cond_0 invoke-virtual {p0, p1, v0}, Landroid/content/pm/PackageManager;->resolveActivity(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo; move-result-object p1 if-nez p1, :cond_1 return v0 .line 53 :cond_1 iget-object p1, p1, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; iget-object p1, p1, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String; const/16 v1, 0x40 .line 55 :try_start_0 invoke-virtual {p0, p1, v1}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo; move-result-object p0 .line 56 iget-object p0, p0, Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature; const-string p1, "18da2bf10352443a00a5e046d9fca6bd" invoke-static {p0, p1}, Lcom/sina/weibo/sdk/utils/SecurityHelper;->containSign([Landroid/content/pm/Signature;Ljava/lang/String;)Z move-result p0 :try_end_0 .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_1 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 return p0 :catch_0 move-exception p0 .line 60 invoke-virtual {p0}, Ljava/lang/Exception;->printStackTrace()V goto :goto_0 :catch_1 move-exception p0 .line 58 invoke-virtual {p0}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V :goto_0 return v0 .end method