正在查看: Spermatid Pro v6.4.3 应用的 KillerApplication265.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Spermatid Pro v6.4.3 应用的 KillerApplication265.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package bin.mt.signature;
import android.app.Application;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.Signature;
import android.os.Build;
import android.os.Parcel;
import android.util.Base64;
import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Map;
public class KillerApplication265 extends Application {
public static final String URL = "https://github.com/L-JINBIN/ApkSignatureKillerEx";
static {
killPM("com.csjcbs", "MIICljCCAX6gAwIBAgIEedJGLzANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJDTjAeFw0yNDAz\nMjQxMjA0NDNaFw00OTAzMTgxMjA0NDNaMA0xCzAJBgNVBAYTAkNOMIIBIjANBgkqhkiG9w0BAQEF\nAAOCAQ8AMIIBCgKCAQEAjos2PEdPi7jLBlyWK1vW9qBytCiMVL7wchllMLtFnmF+OLmFb90/cNli\nHJJx+gKzo8xliYWlTxa14AfKrIL2HJmvWjo8XzJ93AMtchEzpsaoPEYufRa9+xjGq2UbMnNsFeNt\neK0k1ZNWYaIlgwR9COv80xKwlevplpImzEWEVUz8BSorpkc9bB9Dh+OCx1q6z2Y0EcZ0tbuNL8W1\nrrMpIhC/tsfMthiikA0JoSUxonltgUX6O3MA9r7aSflMdnbVvgd6vSyxK4g1e7oXxZi54QpbD8IF\nKEvpoUB+oJfE4v6ZRXvG/QaowCOdJ0CvmFNw2zB3+yhHNQ6EeR7cpa/zOQIDAQABMA0GCSqGSIb3\nDQEBCwUAA4IBAQABofiAzvoMFY+omLemV1+90l6Q6ZTUSW68mT6K7eIb2tPkHL7YGRMxEk622b2f\nuGsC65pEn1+b5bSmtrsRW3gQy9zf3hj7jnXk5sRMLlcAj3ETusiyP3Nhn1j+Xdi1DoDt0VqBKdD5\nt0LHravo5+TW9frEd0irVqVwTnLcZWTrU1B2Uc5PPwQaaQ15uzblQPWW4h+JMGSEfWe2QpaEXEqr\n1XRJpovBTbyRQCzT89/QpRjeIpCXif9VNAaz+UZejjYwG1qBmT55Q9R7YY/4QMJKkMC0WRfc3+Mk\nbpOmnkEQT2d0NM6KolV6qhzDvsE0Pusv3eCStMzLSWBUhr8i4ecL\n");
killOpen("com.csjcbs", "", "", "");
}
public static Field a(Class cls, String str) {
try {
Field declaredField = cls.getDeclaredField(str);
declaredField.setAccessible(true);
return declaredField;
} catch (NoSuchFieldException e) {
while (true) {
cls = cls.getSuperclass();
if (cls == null || cls.equals(Object.class)) {
break;
}
try {
Field declaredField2 = cls.getDeclaredField(str);
declaredField2.setAccessible(true);
return declaredField2;
} catch (NoSuchFieldException unused) {
}
}
throw e;
}
}
public static boolean b(String str, String str2) {
if (str2.startsWith("/") && str2.endsWith(".apk")) {
String[] split = str2.substring(1).split("/", 6);
int length = split.length;
if (length == 4 || length == 5) {
if (split[0].equals("data") && split[1].equals("app") && split[length - 1].equals("base.apk")) {
return split[length - 2].startsWith(str);
}
if (split[0].equals("mnt") && split[1].equals("asec") && split[length - 1].equals("pkg.apk")) {
return split[length - 2].startsWith(str);
}
} else if (length == 3) {
if (split[0].equals("data") && split[1].equals("app")) {
return split[2].startsWith(str);
}
} else if (length == 6 && split[0].equals("mnt") && split[1].equals("expand") && split[3].equals("app") && split[5].equals("base.apk")) {
return split[4].endsWith(str);
}
}
return false;
}
private static void killOpen(java.lang.String r8, java.lang.String r9, java.lang.String r10, java.lang.String r11) {
throw new UnsupportedOperationException("Method not decompiled: bin.mt.signature.KillerApplication265.killOpen(java.lang.String, java.lang.String, java.lang.String, java.lang.String):void");
}
private static void killPM(String str, String str2) {
try {
a(PackageInfo.class, "CREATOR").set(null, new l(PackageInfo.CREATOR, str, new Signature(Base64.decode(str2, 0))));
if (Build.VERSION.SDK_INT >= 28) {
HashSet hashSet = j.f;
hashSet.addAll(Arrays.asList("Landroid/os/Parcel;", "Landroid/content/pm", "Landroid/app"));
String[] strArr = new String[hashSet.size()];
hashSet.toArray(strArr);
j.b(strArr);
}
try {
Object obj = a(PackageManager.class, "sPackageInfoCache").get(null);
obj.getClass().getMethod("clear", null).invoke(obj, null);
} catch (Throwable unused) {
}
try {
((Map) a(Parcel.class, "mCreators").get(null)).clear();
} catch (Throwable unused2) {
}
try {
((Map) a(Parcel.class, "sPairedCreators").get(null)).clear();
} catch (Throwable unused3) {
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}