Shinigami ID v1.1.3版本的 MD5 值为:c381e85feac697f048c400ae89b7b92d

以下内容为反编译后的 KillerApplication.java 源代码,内容仅作参考


package bin.mt.signature;

import android.app.Application;
import android.content.pm.PackageInfo;
import android.content.pm.Signature;
import android.os.Build;
import android.os.Parcel;
import android.os.Parcelable;
import haku.mecha.protect;
import java.io.File;
import java.lang.reflect.Field;

public class KillerApplication extends Application {
    public static final String URL = "https://github.com/L-JINBIN/ApkSignatureKillerEx";

    class AnonymousClass1 implements Parcelable.Creator<PackageInfo> {
        final Signature val$fakeSignature;
        final Parcelable.Creator val$originalCreator;
        final String val$packageName;

        AnonymousClass1(Parcelable.Creator creator, String str, Signature signature) {
            this.val$originalCreator = creator;
            this.val$packageName = str;
            this.val$fakeSignature = signature;
        }

        @Override
        public PackageInfo createFromParcel(Parcel parcel) {
            Signature[] apkContentsSigners;
            PackageInfo packageInfo = (PackageInfo) this.val$originalCreator.createFromParcel(parcel);
            if (packageInfo.packageName.equals(this.val$packageName)) {
                if (packageInfo.signatures != null && packageInfo.signatures.length > 0) {
                    packageInfo.signatures[0] = this.val$fakeSignature;
                }
                if (Build.VERSION.SDK_INT >= 28 && packageInfo.signingInfo != null && (apkContentsSigners = packageInfo.signingInfo.getApkContentsSigners()) != null && apkContentsSigners.length > 0) {
                    apkContentsSigners[0] = this.val$fakeSignature;
                }
            }
            return packageInfo;
        }

        @Override
        public PackageInfo[] newArray(int i10) {
            return (PackageInfo[]) this.val$originalCreator.newArray(i10);
        }
    }

    static {
        protect.classes8Init0(15);
        killPM("com.shinigami.id", "MIIC5DCCAcwCAQEwDQYJKoZIhvcNAQEFBQAwNzEWMBQGA1UEAwwNQW5kcm9pZCBEZWJ1ZzEQMA4G\nA1UECgwHQW5kcm9pZDELMAkGA1UEBhMCVVMwIBcNMjMwODE0MDc0NjU4WhgPMjA1MzA4MDYwNzQ2\nNThaMDcxFjAUBgNVBAMMDUFuZHJvaWQgRGVidWcxEDAOBgNVBAoMB0FuZHJvaWQxCzAJBgNVBAYT\nAlVTMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuWdk9Zr6Y7N64eSTQl/Bg8w0PCJ+\nWRVeB2VzN6VAG9mjKG/Kx46l+rS39YP+6qrfEe0t77eVXzE+uAdDwU4nm3DTCDhwQsu+/bj48OLE\nIehcjp4VePyNcrR/1Ut1EJWsQLlfmtwSnbBJix+k+cWavj5rvFkSCcbOI9g+NNTzzcAZzMLbvby5\nqbNi90wgSUx9JbOqz02gfeoE8X76WbAv532THrrPvFM0PrWzUReQGOtd9L1gSpLqs/eqD9a+W1II\nLs/YYK07SGV+ZlWBc3zul/J081V2QmI+tIrNwn3kvCPjRueKp6FyvW4EgOPrPSLsD7vF3Urtp5HE\n3liv3zgcnwIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQBSFgyMXpTlo4tdO8VAiNgkcIzivPxI91PN\n++P435aHnOVQfni6bjeSK312ONv5kVJziWRHtqsKvtVfUyjYyKVJfvtf/mvp1t1mOCt9x2z2NI4y\nXivnHzCp1CeStaQWq/kSeWY0Tjwsul2own6tIeRr1CuMsx+10HoQZ7Bs8xDLtwFV4kfDdHnMpuYR\nPjRztI3NEAW7BbblgZtNFYsy8S67/fvHgEqatIuZcd4+rjAWrA5+VCl7i0gY0+5JKwQq2h5nT5ll\nb1bJLnC3CKk3ipo3PXIqJwQSbeknd/4Wqnj9S2sJSOJi12v6dTHNbIc3Q9Ch2HuoHc0pkjGE5nMO\nvInL\n");
        killOpen("com.shinigami.id");
    }

    private static native Field findField(Class<?> cls, String str) throws NoSuchFieldException;

    private static native String getApkPath(String str);

    private static native File getDataFile(String str);

    private static native void hookApkPath(String str, String str2);

    private static native boolean isApkPath(String str, String str2);

    private static native void killOpen(String str);

    private static native void killPM(String str, String str2);
}