package com.kwad.sdk.utils; import android.content.Context; import android.os.Build; import android.os.Environment; import android.os.Process; import android.text.TextUtils; import android.util.Log; import com.kuaishou.weapon.p0.i1; import com.kuaishou.weapon.p0.p0; import com.kwad.sdk.crash.utils.g; import com.kwad.sdk.service.ServiceProvider; import com.kwad.sdk.service.kwai.f; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.HashSet; public final class n { private static Context aOt; public static com.kwad.sdk.f.kwai.d bAU; static class a extends com.kwad.sdk.f.kwai.a { public a() { Yh(); } private void Yh() { this.bAd = new ArrayList(); this.bAd.add(new com.kwad.sdk.f.kwai.a(this.enabled) { /* class com.kwad.sdk.utils.n.a.AnonymousClass1 */ @Override // com.kwad.sdk.f.kwai.a public final boolean bZ(Context context) { int i = (Build.PRODUCT.contains("sdk") || Build.PRODUCT.contains("Andy") || Build.PRODUCT.contains("ttVM_Hdragon") || Build.PRODUCT.contains("google_sdk") || Build.PRODUCT.contains("Droid4X") || Build.PRODUCT.contains("nox") || Build.PRODUCT.contains("sdk_x86") || Build.PRODUCT.contains("sdk_google") || Build.PRODUCT.contains("vbox86p") || Build.PRODUCT.contains("aries")) ? 1 : 0; if (Build.MANUFACTURER.equals("unknown") || Build.MANUFACTURER.equals("Genymotion") || Build.MANUFACTURER.contains("Andy") || Build.MANUFACTURER.contains("MIT") || Build.MANUFACTURER.contains("nox") || Build.MANUFACTURER.contains("TiantianVM")) { i++; } if (Build.BRAND.equals("generic") || Build.BRAND.equals("generic_x86") || Build.BRAND.equals("TTVM") || Build.BRAND.contains("Andy")) { i++; } if (Build.DEVICE.contains("generic") || Build.DEVICE.contains("generic_x86") || Build.DEVICE.contains("Andy") || Build.DEVICE.contains("ttVM_Hdragon") || Build.DEVICE.contains("Droid4X") || Build.DEVICE.contains("nox") || Build.DEVICE.contains("generic_x86_64") || Build.DEVICE.contains("vbox86p") || Build.DEVICE.contains("aries")) { i++; } if (Build.MODEL.equals("sdk") || Build.MODEL.contains("Emulator") || Build.MODEL.equals("google_sdk") || Build.MODEL.contains("Droid4X") || Build.MODEL.contains("TiantianVM") || Build.MODEL.contains("Andy") || Build.MODEL.equals("Android SDK built for x86_64") || Build.MODEL.equals("Android SDK built for x86")) { i++; } if (Build.HARDWARE.equals("goldfish") || Build.HARDWARE.equals("vbox86") || Build.HARDWARE.contains("nox") || Build.HARDWARE.contains("ttVM_x86")) { i++; } if (Build.FINGERPRINT.contains("generic/sdk/generic") || Build.FINGERPRINT.contains("generic_x86/sdk_x86/generic_x86") || Build.FINGERPRINT.contains("Andy") || Build.FINGERPRINT.contains("ttVM_Hdragon") || Build.FINGERPRINT.contains("generic_x86_64") || Build.FINGERPRINT.contains("generic/google_sdk/generic") || Build.FINGERPRINT.contains("vbox86p") || Build.FINGERPRINT.contains("generic/vbox86p/vbox86p")) { i++; } try { if (new File(Environment.getExternalStorageDirectory().toString() + File.separatorChar + "windows" + File.separatorChar + "BstSharedFolder").exists()) { i += 10; } } catch (Exception unused) { } return i > 3; } }); this.bAd.add(new com.kwad.sdk.f.kwai.a(this.enabled) { /* class com.kwad.sdk.utils.n.a.AnonymousClass2 */ @Override // com.kwad.sdk.f.kwai.a public final boolean bZ(Context context) { return "1".equals(bc.get("ro.kernel.qemu")); } }); } } static class b extends com.kwad.sdk.f.kwai.a { } static class c extends com.kwad.sdk.f.kwai.a { } static class d extends com.kwad.sdk.f.kwai.a { public d() { Yh(); } private void Yh() { this.bAd = new ArrayList(); this.bAd.add(new com.kwad.sdk.f.kwai.a(this.enabled) { /* class com.kwad.sdk.utils.n.d.AnonymousClass1 */ @Override // com.kwad.sdk.f.kwai.a public final boolean bZ(Context context) { return new File("/system/app/Superuser.apk").exists(); } }); this.bAd.add(new com.kwad.sdk.f.kwai.a(this.enabled) { /* class com.kwad.sdk.utils.n.d.AnonymousClass2 */ @Override // com.kwad.sdk.f.kwai.a public final boolean bZ(Context context) { String[] strArr = {"/system/bin/", "/system/xbin/", "/system/sbin/", "/sbin/", "/vendor/bin/"}; for (int i = 0; i < 5; i++) { if (new File(strArr[i] + i1.w).exists()) { return true; } } return false; } }); this.bAd.add(new com.kwad.sdk.f.kwai.a(this.enabled) { /* class com.kwad.sdk.utils.n.d.AnonymousClass3 */ @Override // com.kwad.sdk.f.kwai.a public final boolean bZ(Context context) { return !TextUtils.isEmpty(n.i(new String[]{"/system/xbin/which", i1.w})); } }); this.bAd.add(new com.kwad.sdk.f.kwai.a(this.enabled) { /* class com.kwad.sdk.utils.n.d.AnonymousClass4 */ @Override // com.kwad.sdk.f.kwai.a public final boolean bZ(Context context) { Charset forName = Charset.forName("UTF-8"); File file = new File("/data/su_test"); try { p.a(file, "ok", forName, false); return p.a(file, forName).equals("ok"); } catch (Throwable unused) { return false; } } }); } } static class e extends com.kwad.sdk.f.kwai.a { public e() { Yh(); } private void Yh() { this.bAd = new ArrayList(); this.bAd.add(new com.kwad.sdk.f.kwai.a(this.enabled) { /* class com.kwad.sdk.utils.n.e.AnonymousClass1 */ @Override // com.kwad.sdk.f.kwai.a public final boolean bZ(Context context) { return aj.au(context, "de.robv.android.xposed.installer") || aj.au(context, "com.saurik.substrate"); } }); this.bAd.add(new com.kwad.sdk.f.kwai.a(this.enabled) { /* class com.kwad.sdk.utils.n.e.AnonymousClass2 */ @Override // com.kwad.sdk.f.kwai.a public final boolean bZ(Context context) { try { throw new Exception("empty"); } catch (Exception e) { StackTraceElement[] stackTrace = e.getStackTrace(); boolean z = false; int i = 0; for (StackTraceElement stackTraceElement : stackTrace) { String className = stackTraceElement.getClassName(); String methodName = stackTraceElement.getMethodName(); if (className.equals("com.android.internal.os.ZygoteInit") && (i = i + 1) == 2) { z = true; } if (className.equals("com.saurik.substrate.MS$2") && methodName.equals("invoked")) { Log.wtf("HookDetection", "A method on the stack trace has been hooked using Substrate."); z = true; } if (className.equals(p0.b) && methodName.equals("main")) { z = true; } if (className.equals(p0.b) && methodName.equals("handleHookedMethod")) { z = true; } } return z; } } }); this.bAd.add(new com.kwad.sdk.f.kwai.a(this.enabled) { /* class com.kwad.sdk.utils.n.e.AnonymousClass3 */ @Override // com.kwad.sdk.f.kwai.a public final boolean bZ(Context context) { FileReader fileReader; Throwable th; BufferedReader bufferedReader; Throwable th2; BufferedReader bufferedReader2 = null; boolean z = false; try { HashSet<String> hashSet = new HashSet(); fileReader = new FileReader("/proc/" + Process.myPid() + "/maps"); try { bufferedReader = new BufferedReader(fileReader); while (true) { try { String readLine = bufferedReader.readLine(); if (readLine == null) { break; } else if (readLine.endsWith(".so") || readLine.endsWith(".jar")) { hashSet.add(readLine.substring(readLine.lastIndexOf(" ") + 1)); } } catch (Exception unused) { bufferedReader2 = bufferedReader; com.kwad.sdk.crash.utils.b.closeQuietly(bufferedReader2); com.kwad.sdk.crash.utils.b.closeQuietly(fileReader); return z; } catch (Throwable th3) { th = th3; com.kwad.sdk.crash.utils.b.closeQuietly(bufferedReader); com.kwad.sdk.crash.utils.b.closeQuietly(fileReader); throw th; } } for (String str : hashSet) { if (str.contains("com.saurik.substrate")) { Log.wtf("HookDetection", "Substrate shared object found: " + str); z = true; } if (str.contains("XposedBridge.jar")) { Log.wtf("HookDetection", "Xposed JAR found: " + str); z = true; } } com.kwad.sdk.crash.utils.b.closeQuietly(bufferedReader); } catch (Exception unused2) { com.kwad.sdk.crash.utils.b.closeQuietly(bufferedReader2); com.kwad.sdk.crash.utils.b.closeQuietly(fileReader); return z; } catch (Throwable th4) { th2 = th4; bufferedReader = null; th = th2; com.kwad.sdk.crash.utils.b.closeQuietly(bufferedReader); com.kwad.sdk.crash.utils.b.closeQuietly(fileReader); throw th; } } catch (Exception unused3) { fileReader = null; com.kwad.sdk.crash.utils.b.closeQuietly(bufferedReader2); com.kwad.sdk.crash.utils.b.closeQuietly(fileReader); return z; } catch (Throwable th5) { th2 = th5; bufferedReader = null; fileReader = null; th = th2; com.kwad.sdk.crash.utils.b.closeQuietly(bufferedReader); com.kwad.sdk.crash.utils.b.closeQuietly(fileReader); throw th; } com.kwad.sdk.crash.utils.b.closeQuietly(fileReader); return z; } }); } } public static synchronized com.kwad.sdk.f.kwai.d Yg() { synchronized (n.class) { if (!((f) ServiceProvider.get(f.class)).Jl()) { return null; } com.kwad.sdk.f.kwai.d dVar = bAU; if (dVar != null) { return dVar; } com.kwad.sdk.f.kwai.d dVar2 = new com.kwad.sdk.f.kwai.d(aOt); boolean bY = new d().bY(aOt); boolean bY2 = new e().bY(aOt); boolean bY3 = new b().bY(aOt); boolean bY4 = new a().bY(aOt); boolean bY5 = new c().bY(aOt); dVar2.co(bY); dVar2.cp(bY2); dVar2.cq(bY3); dVar2.cs(bY4); dVar2.ct(bY5); bAU = dVar2; return dVar2; } } public static synchronized void cr(Context context) { synchronized (n.class) { if (context != null) { aOt = context.getApplicationContext(); } } } public static String i(String[] strArr) { try { return g.d(Runtime.getRuntime().exec(strArr).getInputStream()); } catch (Exception unused) { return null; } } }