JieJing Cleaner v1.4.2版本的 MD5 值为:a574eea9fb07160f0bbb08ba0adf1c62
以下内容为反编译后的 j.java 源代码,内容仅作参考
package l1L1L1L1L1l1LLL1LL1ll.L1L1L1Ll1l1L1l1l11L.Ll1lLl1l1LL1l1Ll;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.location.LocationManager;
import android.os.Build;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Log;
import android.util.Pair;
import androidx.core.app.NotificationCompat;
import com.bytedance.applog.AppLog;
import com.umeng.analytics.pro.ak;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import org.json.JSONObject;
public class j {
public static int f4444Ll1lLl1l1LL1l1Ll;
public static String[] f4446lilil1liLi1lLL1l1l = {"goldfish"};
public static final String[] f4445l1l1l1l1LL1L1l1lL1l = {"000000000000000", "012345678912345"};
public static void Ll1lLl1l1LL1l1Ll(Context context, JSONObject jSONObject, v vVar) {
int i2;
boolean z;
String str;
File[] listFiles;
FileInputStream fileInputStream;
String str2;
Boolean bool;
boolean z2;
boolean z3;
FileInputStream fileInputStream2;
List<String> allProviders;
int intExtra;
int intExtra2;
if (jSONObject == null) {
return;
}
try {
if (!TextUtils.isEmpty(l1L1L1L1L1l1LLL1LL1ll.Ll1lLl1l1LL1l1Ll.Ll1lLl1l1LL1l1Ll.L1Lll1ll1Ll1ll1L.l1L1L1L1L1l1LLL1LL1ll.L1L1l1lL1l1l1Ll11L("/proc/version"))) {
jSONObject.put("kernel", l1L1L1L1L1l1LLL1LL1ll.Ll1lLl1l1LL1l1Ll.Ll1lLl1l1LL1l1Ll.L1Lll1ll1Ll1ll1L.l1L1L1L1L1l1LLL1LL1ll.L1L1l1lL1l1l1Ll11L("/proc/version"));
}
} catch (Exception unused) {
}
int i3 = -1;
Iterator<Sensor> it = ((SensorManager) context.getSystemService(ak.ac)).getSensorList(-1).iterator();
while (true) {
i2 = 1;
if (it.hasNext()) {
if (it.next().getType() == 9) {
z = true;
break;
}
} else {
z = false;
break;
}
}
jSONObject.put(NotificationCompat.WearableExtender.KEY_GRAVITY, z);
String str3 = null;
str3 = null;
InputStream inputStream = null;
Intent registerReceiver = context.registerReceiver(null, new IntentFilter("android.intent.action.BATTERY_CHANGED"));
if (registerReceiver != null && (intExtra2 = registerReceiver.getIntExtra("temperature", -1)) > 0) {
float f = intExtra2 / 10.0f;
if (f <= 0.0f) {
str = "";
} else {
Locale locale = Locale.getDefault();
fileInputStream = new Object[]{Float.valueOf(f)};
str = String.format(locale, "%.1f°C", fileInputStream);
}
} else {
str = null;
}
jSONObject.put("battery_temp", str);
Intent registerReceiver2 = context.registerReceiver(null, new IntentFilter("android.intent.action.BATTERY_CHANGED"));
jSONObject.put("battery_volt", (registerReceiver2 != null && (intExtra = registerReceiver2.getIntExtra("voltage", -1)) > 0) ? String.valueOf(intExtra) : null);
LocationManager locationManager = (LocationManager) context.getSystemService("location");
jSONObject.put("gps", (locationManager == null || (allProviders = locationManager.getAllProviders()) == null) ? false : allProviders.contains("gps"));
File file = new File("/sys/devices/system/cpu");
if (file.exists() && (listFiles = file.listFiles(new c0())) != null && listFiles.length > 0) {
int length = listFiles.length;
int i4 = 0;
fileInputStream = fileInputStream;
while (i4 < length) {
?? absolutePath = listFiles[i4].getAbsolutePath();
try {
absolutePath = Math.max(Math.max(Integer.parseInt(l1L1L1L1L1l1LLL1LL1ll.Ll1lLl1l1LL1l1Ll.Ll1lLl1l1LL1l1Ll.L1Lll1ll1Ll1ll1L.l1L1L1L1L1l1LLL1LL1ll.L1L1l1lL1l1l1Ll11L(absolutePath + "/cpufreq/cpuinfo_max_freq")), Integer.parseInt(l1L1L1L1L1l1LLL1LL1ll.Ll1lLl1l1LL1l1Ll.Ll1lLl1l1LL1l1Ll.L1Lll1ll1Ll1ll1L.l1L1L1L1L1l1LLL1LL1ll.L1L1l1lL1l1l1Ll11L(absolutePath + "/cpufreq/scaling_cur_freq"))), Integer.parseInt(l1L1L1L1L1l1LLL1LL1ll.Ll1lLl1l1LL1l1Ll.Ll1lLl1l1LL1l1Ll.L1Lll1ll1Ll1ll1L.l1L1L1L1L1l1LLL1LL1ll.L1L1l1lL1l1l1Ll11L(absolutePath + "/cpufreq/cpuinfo_min_freq")));
if (absolutePath > 0 && absolutePath > i3) {
i3 = absolutePath;
}
} catch (Throwable unused2) {
}
i4++;
fileInputStream = absolutePath;
}
}
i3 = 0;
int i5 = i3 / 1000;
if (i5 > 360 && i5 < 440) {
str2 = "400M";
} else if (i5 > 460 && i5 < 540) {
str2 = "500M";
} else if (i5 > 560 && i5 < 640) {
str2 = "600M";
} else if (i5 > 660 && i5 < 740) {
str2 = "700M";
} else if (i5 > 760 && i5 < 840) {
str2 = "800M";
} else if (i5 > 860 && i5 < 940) {
str2 = "900M";
} else if (i5 <= 960 || i5 >= 1040) {
try {
if (i5 < 1000) {
str2 = String.format(Locale.getDefault(), "%dM", Integer.valueOf(i5));
fileInputStream = fileInputStream;
} else {
fileInputStream = 1148846080;
str2 = String.format(Locale.getDefault(), "%.1fG", Float.valueOf(i5 / 1000.0f));
}
} catch (Exception unused3) {
str2 = "0M";
}
} else {
str2 = "1G";
}
jSONObject.put("cpu_freq", str2);
s1 s1Var = new s1();
File file2 = new File("/proc/tty/drivers");
if (file2.exists() && file2.canRead()) {
byte[] bArr = new byte[1024];
try {
try {
fileInputStream2 = new FileInputStream(file2);
try {
fileInputStream2.read(bArr);
fileInputStream = fileInputStream2;
} catch (Exception e) {
e = e;
e.printStackTrace();
fileInputStream = fileInputStream2;
}
} catch (Throwable th) {
th = th;
inputStream = fileInputStream;
Throwable th2 = th;
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e2) {
e2.printStackTrace();
}
}
throw th2;
}
} catch (Exception e3) {
e = e3;
fileInputStream2 = null;
} catch (Throwable th3) {
th = th3;
Throwable th22 = th;
if (inputStream != null) {
}
throw th22;
}
try {
fileInputStream.close();
} catch (IOException e4) {
e4.printStackTrace();
}
String str4 = new String(bArr);
for (String str5 : f4446lilil1liLi1lLL1l1l) {
if (str4.contains(str5)) {
Log.i("Result:", "Find know_qemu_drivers!");
bool = true;
break;
}
}
}
Log.i("Result:", "Not Find known_qemu_drivers!");
bool = false;
boolean booleanValue = bool.booleanValue();
f4444Ll1lLl1l1LL1l1Ll |= booleanValue ? 2 : 0;
int i6 = 10;
String[] strArr = {"/system/bin/qemu_props", "/system/bin/androVM-prop", "/system/bin/microvirt-prop", "/system/lib/libdroid4x.so", "/system/bin/windroyed", "/system/bin/microvirtd", "/system/bin/nox-prop", "/system/bin/ttVM-prop", "/system/bin/droid4x-prop", "/data/.bluestacks.prop"};
String[] strArr2 = {"init.svc.vbox86-setup", "init.svc.droid4x", "init.svc.qemud", "init.svc.su_kpbs_daemon", "init.svc.noxd", "init.svc.ttVM_x86-setup", "init.svc.xxkmsg", "init.svc.microvirtd", "ro.kernel.android.qemud", "androVM.vbox_dpi", "androVM.vbox_graph_mode"};
int i7 = 0;
for (int i8 = 0; i8 < 10; i8++) {
i7 |= Ll1lLl1l1LL1l1Ll(strArr[i8]) ? 1 << i8 : 0;
if (Ll1lLl1l1LL1l1Ll(strArr[i8])) {
Log.d("EmulatorChecker", strArr[i8]);
}
}
for (int i9 = 0; i9 < 11; i9++) {
String str6 = strArr2[i9];
i7 |= TextUtils.isEmpty(s1Var.Ll1lLl1l1LL1l1Ll(str6)) ? 0 : 1 << i6;
if (!TextUtils.isEmpty(s1Var.Ll1lLl1l1LL1l1Ll(str6))) {
Log.d("EmulatorChecker", str6);
}
i6++;
}
Pair pair = new Pair("ro.product.manufacturer", "Genymotion");
String Ll1lLl1l1LL1l1Ll2 = s1Var.Ll1lLl1l1LL1l1Ll((String) pair.first);
if (!TextUtils.isEmpty(Ll1lLl1l1LL1l1Ll2) && Ll1lLl1l1LL1l1Ll2.contains((CharSequence) pair.second)) {
i7 |= 1 << i6;
Log.d("EmulatorChecker", (String) pair.first);
}
f4444Ll1lLl1l1LL1l1Ll |= i7 > 0 ? 4 : 0;
String udid = AppLog.getUdid();
String[] lilil1liLi1lLL1l1l2 = ((a) vVar.f4584Ll1l1L1L1L1l1L1l).lilil1liLi1lLL1l1l();
TelephonyManager telephonyManager = (TelephonyManager) context.getApplicationContext().getSystemService("phone");
if (telephonyManager != null) {
try {
str3 = telephonyManager.getVoiceMailNumber();
} catch (SecurityException unused4) {
}
}
if (context.getPackageManager().checkPermission("android.permission.READ_PHONE_STATE", context.getPackageName()) == 0) {
z2 = false;
for (String str7 : f4445l1l1l1l1LL1L1l1lL1l) {
z2 = z2 || l1L1L1L1L1l1LLL1LL1ll.Ll1lLl1l1LL1l1Ll.Ll1lLl1l1LL1l1Ll.L1Lll1ll1Ll1ll1L.l1L1L1L1L1l1LLL1LL1ll.m32Ll1lLl1l1LL1l1Ll(str7, udid);
}
} else {
z2 = false;
}
if (lilil1liLi1lLL1l1l2 != null) {
for (String str8 : lilil1liLi1lLL1l1l2) {
z2 = l1L1L1L1L1l1LLL1LL1ll.Ll1lLl1l1LL1l1Ll.Ll1lLl1l1LL1l1Ll.L1Lll1ll1Ll1ll1L.l1L1L1L1L1l1LLL1LL1ll.m32Ll1lLl1l1LL1l1Ll(str8, "310260000000000") || z2;
}
}
boolean z4 = z2 || l1L1L1L1L1l1LLL1LL1ll.Ll1lLl1l1LL1l1Ll.Ll1lLl1l1LL1l1Ll.L1Lll1ll1Ll1ll1L.l1L1L1L1L1l1LLL1LL1ll.m32Ll1lLl1l1LL1l1Ll(str3, "15552175049");
f4444Ll1lLl1l1LL1l1Ll |= z4 ? 8 : 0;
String str9 = Build.BRAND;
String str10 = Build.DEVICE;
String str11 = Build.HARDWARE;
boolean z5 = (str9 != null && str9.contains("generic")) || (str10 != null && str10.contains("generic")) || ((str11 != null && str11.contains("goldfish")) || l1L1L1L1L1l1LLL1LL1ll.Ll1lLl1l1LL1l1Ll.Ll1lLl1l1LL1l1Ll.L1Lll1ll1Ll1ll1L.l1L1L1L1L1l1LLL1LL1ll.m32Ll1lLl1l1LL1l1Ll(Build.HOST, "android-test"));
f4444Ll1lLl1l1LL1l1Ll |= z5 ? 16 : 0;
HashMap hashMap = new HashMap(6);
hashMap.put("ro.hardware", "goldfish");
hashMap.put("ro.product.device", "generic");
hashMap.put("ro.product.model", "sdk");
hashMap.put("ro.product.name", "sdk");
hashMap.put("init.svc.vbox86-setup", "stopped");
hashMap.put("init.svc.vbox86-setup", "running");
Iterator it2 = hashMap.keySet().iterator();
while (true) {
if (!it2.hasNext()) {
z3 = false;
break;
}
String str12 = (String) it2.next();
if (l1L1L1L1L1l1LLL1LL1ll.Ll1lLl1l1LL1l1Ll.Ll1lLl1l1LL1l1Ll.L1Lll1ll1Ll1ll1L.l1L1L1L1L1l1LLL1LL1ll.m32Ll1lLl1l1LL1l1Ll(s1Var.Ll1lLl1l1LL1l1Ll(str12), (String) hashMap.get(str12))) {
z3 = true;
break;
}
}
f4444Ll1lLl1l1LL1l1Ll |= z3 ? 32 : 0;
boolean z6 = ActivityManager.isUserAMonkey() || ActivityManager.isRunningInTestHarness();
f4444Ll1lLl1l1LL1l1Ll |= z6 ? 64 : 0;
boolean Ll1lLl1l1LL1l1Ll3 = Ll1lLl1l1LL1l1Ll("/sys/class/thermal/thermal_zone0");
f4444Ll1lLl1l1LL1l1Ll |= Ll1lLl1l1LL1l1Ll3 ? 0 : 128;
if (!booleanValue && i7 <= 0 && !z4 && !z5 && !z3 && !z6 && Ll1lLl1l1LL1l1Ll3) {
i2 = 0;
}
int i10 = f4444Ll1lLl1l1LL1l1Ll | i2;
f4444Ll1lLl1l1LL1l1Ll = i10;
jSONObject.put("emulator", i10);
jSONObject.put("emulator_file_flag", i7);
}
public static boolean Ll1lLl1l1LL1l1Ll(String str) {
if (TextUtils.isEmpty(str)) {
return false;
}
File file = new File(str);
if (file.exists()) {
return true;
}
try {
try {
new FileInputStream(file).close();
} catch (IOException e) {
e.printStackTrace();
}
return true;
} catch (FileNotFoundException e2) {
return !e2.getMessage().contains("No such file or directory");
}
}
}