导航菜单

页面标题

页面副标题

Spermatid Pro v6.4.3 - KillerApplication265.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);
        }
    }
}