- 28,932 files - Full Java source code - Smali files - Resources Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
73 lines
3.3 KiB
Java
73 lines
3.3 KiB
Java
package com.facebook.internal;
|
|
|
|
import android.content.Context;
|
|
import android.content.pm.PackageInfo;
|
|
import android.content.pm.PackageManager;
|
|
import android.content.pm.Signature;
|
|
import android.os.Build;
|
|
import java.util.HashSet;
|
|
import kotlin.collections.CollectionsKt___CollectionsKt;
|
|
import kotlin.collections.SetsKt__SetsKt;
|
|
import kotlin.jvm.internal.Intrinsics;
|
|
import kotlin.text.StringsKt__StringsJVMKt;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public final class FacebookSignatureValidator {
|
|
private static final String FBF_HASH = "2438bce1ddb7bd026d5ff89f598b3b5e5bb824b3";
|
|
private static final String FBI_HASH = "a4b7452e2ed8f5f191058ca7bbfd26b0d3214bfc";
|
|
private static final String FBL_HASH = "df6b721c8b4d3b6eb44c861d4415007e5a35fc95";
|
|
private static final String FBR2_HASH = "cc2751449a350f668590264ed76692694a80308a";
|
|
private static final String FBR_HASH = "8a3c4b262d721acd49a4bf97d5213199c86fa2b9";
|
|
private static final String IGR_HASH = "c56fb7d591ba6704df047fd98f535372fea00211";
|
|
public static final FacebookSignatureValidator INSTANCE = new FacebookSignatureValidator();
|
|
private static final String MSR_HASH = "9b8f518b086098de3d77736f9458a3d2f6f95a37";
|
|
private static final HashSet<String> validAppSignatureHashes;
|
|
|
|
private FacebookSignatureValidator() {
|
|
}
|
|
|
|
static {
|
|
HashSet<String> hashSetOf;
|
|
hashSetOf = SetsKt__SetsKt.hashSetOf(FBR_HASH, FBR2_HASH, FBI_HASH, FBL_HASH, MSR_HASH, FBF_HASH, IGR_HASH);
|
|
validAppSignatureHashes = hashSetOf;
|
|
}
|
|
|
|
public static final boolean validateSignature(Context context, String packageName) {
|
|
boolean contains;
|
|
Intrinsics.checkNotNullParameter(context, "context");
|
|
Intrinsics.checkNotNullParameter(packageName, "packageName");
|
|
String brand = Build.BRAND;
|
|
int i = context.getApplicationInfo().flags;
|
|
Intrinsics.checkNotNullExpressionValue(brand, "brand");
|
|
if (StringsKt__StringsJVMKt.startsWith$default(brand, "generic", false, 2, null) && (i & 2) != 0) {
|
|
return true;
|
|
}
|
|
try {
|
|
PackageInfo packageInfo = context.getPackageManager().getPackageInfo(packageName, 64);
|
|
Signature[] signatureArr = packageInfo.signatures;
|
|
if (signatureArr == null) {
|
|
return false;
|
|
}
|
|
Intrinsics.checkNotNullExpressionValue(signatureArr, "packageInfo.signatures");
|
|
if (signatureArr.length == 0) {
|
|
return false;
|
|
}
|
|
Signature[] signatureArr2 = packageInfo.signatures;
|
|
Intrinsics.checkNotNullExpressionValue(signatureArr2, "packageInfo.signatures");
|
|
for (Signature signature : signatureArr2) {
|
|
HashSet<String> hashSet = validAppSignatureHashes;
|
|
Utility utility = Utility.INSTANCE;
|
|
byte[] byteArray = signature.toByteArray();
|
|
Intrinsics.checkNotNullExpressionValue(byteArray, "it.toByteArray()");
|
|
contains = CollectionsKt___CollectionsKt.contains(hashSet, Utility.sha1hash(byteArray));
|
|
if (!contains) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
} catch (PackageManager.NameNotFoundException unused) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|