Luсky+Рatcher v11.3.3版本的 MD5 值为:fcc08dfa98a57a21951c5463e292fdaf

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


package javaroot.utils;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.RandomAccessFile;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import net.lingala.zip4j.util.InternalZipConstants;
import org.jf.dexlib2.analysis.RegisterType;
import p037.C2500;
import sun.security.util.DerValue;

public class C1561 {

    private static String f4932 = "/data/dalvik-cache/data@app@zamenitetodelo-1.apk@classes.dex";

    class C1562 {
        C1562() {
        }
    }

    public static void main(String[] strArr) {
        byte[] bArr;
        File file;
        byte b;
        boolean z;
        byte[] bArr2;
        int i;
        byte[] bArr3;
        byte[] bArr4;
        boolean z2;
        byte[] bArr5;
        byte[] bArr6;
        byte[] bArr7;
        C2500.m7142(new C1562());
        byte[] bArr8 = {10, 1, 56, 1, RegisterType.DOUBLE_LO, 0, 26, 0, 12, 2, 26, 1};
        byte[] bArr9 = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0};
        byte[] bArr10 = {RegisterType.REFERENCE, 4, 41, 0, 0, 0, 113, DerValue.TAG_APPLICATION, 85, 45, RegisterType.DOUBLE_LO, 51};
        byte[] bArr11 = {1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0};
        byte[] bArr12 = {56, 1, 43, 0, 110, RegisterType.UNINIT_REF, 19, 7, 7, 0, 12, 1};
        byte[] bArr13 = {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0};
        byte[] bArr14 = {0, 0, 0, 0, 110, RegisterType.UNINIT_REF, 19, 7, 7, 0, 12, 1};
        byte[] bArr15 = {1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0};
        byte[] bArr16 = {56, 0, 6, 0, 112, RegisterType.UNINIT_REF, 117, 7, 4, 0, RegisterType.DOUBLE_LO, 0, 84, DerValue.TAG_APPLICATION};
        byte[] bArr17 = {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1};
        byte[] bArr18 = {0, 0, 0, 0, 112, RegisterType.UNINIT_REF, 117, 7, 4, 0, RegisterType.DOUBLE_LO, 0, 84, DerValue.TAG_APPLICATION};
        byte[] bArr19 = {1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
        byte[] bArr20 = {56, 0, 87, 0, 84, 96, 2, 3, 84, 0, 1, 2, 84, 97};
        byte[] bArr21 = {0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0};
        byte[] bArr22 = {0, 0, 0, 0, 112, RegisterType.UNINIT_REF, 117, 7, 4, 0, RegisterType.DOUBLE_LO, 0, 84, DerValue.TAG_APPLICATION};
        byte[] bArr23 = {1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
        String replace = f4932.replace("zamenitetodelo", strArr[0]);
        try {
            File file2 = new File(replace);
            if (!file2.exists()) {
                bArr = bArr18;
                file = new File(replace.replace("-1", "-2"));
            } else {
                bArr = bArr18;
                file = file2;
            }
            File file3 = new File(replace.replace("-1", ""));
            if (!file.exists()) {
                file = file3;
            }
            String replace2 = replace.replace("data@app", "mnt@asec").replace(".apk@classes.dex", "@pkg.apk@classes.dex");
            File file4 = new File(replace2);
            if (file4.exists()) {
                file = file4;
            }
            File file5 = new File(replace2.replace("-1", "-2"));
            if (file5.exists()) {
                file = file5;
            }
            File file6 = new File(replace2.replace("-1", ""));
            if (file6.exists()) {
                file = file6;
            }
        } catch (FileNotFoundException unused) {
            System.out.println("Error: Program files are not found!\n\nCheck the location dalvik-cache to solve problems!\n\nDefault: /data/dalvik-cache/*");
        } catch (Exception e) {
            System.out.println("Exception e" + e.toString());
        }
        if (file.exists()) {
            FileChannel channel = new RandomAccessFile(file, InternalZipConstants.WRITE_MODE).getChannel();
            MappedByteBuffer map = channel.map(FileChannel.MapMode.READ_WRITE, 0L, (int) channel.size());
            boolean z3 = false;
            boolean z4 = false;
            boolean z5 = false;
            boolean z6 = false;
            byte b2 = 0;
            while (map.hasRemaining()) {
                try {
                    boolean z7 = z3;
                    try {
                        int position = map.position();
                        boolean z8 = z4;
                        try {
                            b = map.get();
                            boolean z9 = z5;
                            try {
                                z = z6;
                                if (b == bArr8[0]) {
                                    try {
                                        byte b3 = bArr11[0];
                                        if (b3 == 2) {
                                            b2 = b;
                                        }
                                        if (b3 == 0) {
                                            bArr10[0] = b;
                                        }
                                        map.position(position + 1);
                                        byte b4 = map.get();
                                        int i2 = 1;
                                        int i3 = 1000;
                                        while (true) {
                                            if (b4 != bArr8[i2] && bArr9[i2] == 0) {
                                                break;
                                            }
                                            byte b5 = bArr11[i2];
                                            bArr2 = bArr8;
                                            if (b5 == 2) {
                                                b2 = b4;
                                            }
                                            if (b5 == 0 || b5 == 2) {
                                                bArr10[i2] = b4;
                                            }
                                            if (bArr11[i2] == 3) {
                                                i = i2;
                                            } else {
                                                i = i3;
                                            }
                                            int i4 = i2 + 1;
                                            if (i4 == 12) {
                                                if (i < 1000) {
                                                    bArr10[i] = b2;
                                                }
                                                map.position(position);
                                                map.put(bArr10);
                                                map.force();
                                                System.out.println("Check License Key Fixed!\n");
                                                z5 = true;
                                            } else {
                                                i3 = i;
                                                b4 = map.get();
                                                bArr8 = bArr2;
                                                i2 = i4;
                                            }
                                        }
                                    } catch (Exception e2) {
                                        e = e2;
                                        z3 = z7;
                                        z4 = z8;
                                        z5 = z9;
                                        z6 = z;
                                        System.out.println("" + e);
                                        channel.close();
                                        if (!z3) {
                                        }
                                        if (!z4) {
                                        }
                                        if (!z5) {
                                        }
                                        System.out.println("Error: Market Free patch Failed!\nor patch is already applied?!\n");
                                        if (!z6) {
                                        }
                                        C2500.m6899();
                                        return;
                                    }
                                }
                                bArr2 = bArr8;
                                z5 = z9;
                                try {
                                    if (b == bArr12[0]) {
                                        if (bArr15[0] == 0) {
                                            bArr14[0] = b;
                                        }
                                        int i5 = position + 1;
                                        map.position(i5);
                                        byte b6 = map.get();
                                        bArr3 = bArr9;
                                        int i6 = 1;
                                        while (true) {
                                            if (b6 != bArr12[i6]) {
                                                bArr4 = bArr10;
                                                if (bArr13[i6] != 1) {
                                                    z2 = z7;
                                                    break;
                                                }
                                            } else {
                                                bArr4 = bArr10;
                                            }
                                            if (bArr15[i6] == 0) {
                                                bArr14[i6] = b6;
                                            }
                                            int i7 = i6 + 1;
                                            if (i7 == 12) {
                                                map.position(position);
                                                map.put(bArr14);
                                                map.force();
                                                System.out.println("License Key Fixed2!\n");
                                                z2 = true;
                                                break;
                                            }
                                            b6 = map.get();
                                            i6 = i7;
                                            bArr10 = bArr4;
                                        }
                                        try {
                                            map.position(i5);
                                        } catch (Exception e3) {
                                            e = e3;
                                            z3 = z2;
                                            z4 = z8;
                                            z6 = z;
                                            System.out.println("" + e);
                                            channel.close();
                                            if (!z3) {
                                            }
                                            if (!z4) {
                                            }
                                            if (!z5) {
                                            }
                                            System.out.println("Error: Market Free patch Failed!\nor patch is already applied?!\n");
                                            if (!z6) {
                                            }
                                            C2500.m6899();
                                            return;
                                        }
                                    } else {
                                        bArr3 = bArr9;
                                        bArr4 = bArr10;
                                        z2 = z7;
                                    }
                                } catch (Exception e4) {
                                    e = e4;
                                }
                            } catch (Exception e5) {
                                e = e5;
                                z3 = z7;
                                z4 = z8;
                                z5 = z9;
                            }
                        } catch (Exception e6) {
                            e = e6;
                        }
                        try {
                            if (b == bArr16[0]) {
                                if (bArr19[0] == 0) {
                                    bArr[0] = b;
                                }
                                int i8 = position + 1;
                                map.position(i8);
                                z7 = z2;
                                byte b7 = map.get();
                                int i9 = 1;
                                while (true) {
                                    if (b7 != bArr16[i9]) {
                                        bArr5 = bArr11;
                                        if (bArr17[i9] != 1) {
                                            bArr6 = bArr;
                                            break;
                                        }
                                    } else {
                                        bArr5 = bArr11;
                                    }
                                    if (bArr19[i9] == 0) {
                                        bArr[i9] = b7;
                                    }
                                    i9++;
                                    if (i9 == 14) {
                                        map.position(position);
                                        bArr6 = bArr;
                                        map.put(bArr6);
                                        map.force();
                                        System.out.println("Internet Connection Fixed!\n");
                                        z8 = true;
                                        break;
                                    }
                                    b7 = map.get();
                                    bArr = bArr;
                                    bArr11 = bArr5;
                                }
                                map.position(i8);
                            } else {
                                z7 = z2;
                                bArr5 = bArr11;
                                bArr6 = bArr;
                            }
                            if (b == bArr20[0]) {
                                if (bArr23[0] == 0) {
                                    bArr22[0] = b;
                                }
                                int i10 = position + 1;
                                map.position(i10);
                                byte b8 = map.get();
                                int i11 = 1;
                                while (true) {
                                    if (b8 != bArr20[i11]) {
                                        z6 = true;
                                        if (bArr21[i11] != 1) {
                                            bArr7 = bArr22;
                                            z6 = z;
                                            break;
                                        }
                                    } else {
                                        z6 = true;
                                    }
                                    if (bArr23[i11] == 0) {
                                        bArr22[i11] = b8;
                                    }
                                    i11++;
                                    if (i11 == 14) {
                                        map.position(position);
                                        bArr7 = bArr22;
                                        map.put(bArr7);
                                        map.force();
                                        System.out.println("Cached License Key Fixed!\n");
                                        break;
                                    }
                                    byte[] bArr24 = bArr22;
                                    b8 = map.get();
                                    bArr22 = bArr24;
                                }
                                try {
                                    map.position(i10);
                                } catch (Exception e7) {
                                    e = e7;
                                    z3 = z7;
                                    z4 = z8;
                                    System.out.println("" + e);
                                    channel.close();
                                    if (!z3) {
                                    }
                                    if (!z4) {
                                    }
                                    if (!z5) {
                                    }
                                    System.out.println("Error: Market Free patch Failed!\nor patch is already applied?!\n");
                                    if (!z6) {
                                    }
                                    C2500.m6899();
                                    return;
                                }
                            } else {
                                bArr7 = bArr22;
                                z6 = z;
                            }
                            map.position(position + 1);
                            z3 = z7;
                            bArr = bArr6;
                            bArr22 = bArr7;
                            z4 = z8;
                            bArr9 = bArr3;
                            bArr10 = bArr4;
                            bArr11 = bArr5;
                            bArr8 = bArr2;
                        } catch (Exception e8) {
                            e = e8;
                            z7 = z2;
                            z3 = z7;
                            z4 = z8;
                            z6 = z;
                            System.out.println("" + e);
                            channel.close();
                            if (!z3) {
                            }
                            if (!z4) {
                            }
                            if (!z5) {
                            }
                            System.out.println("Error: Market Free patch Failed!\nor patch is already applied?!\n");
                            if (!z6) {
                            }
                            C2500.m6899();
                            return;
                        }
                    } catch (Exception e9) {
                        e = e9;
                        z3 = z7;
                    }
                } catch (Exception e10) {
                    e = e10;
                }
            }
            channel.close();
            if (!z3) {
                System.out.println("Error: License Key2 patch Failed!\nor patch is already applied?!\n");
            }
            if (!z4) {
                System.out.println("Error: Internet Connection patch Failed!\nor patch is already applied?!\n\n");
            }
            if (!z5) {
                System.out.println("Error: Check License Key patch Failed!\nor patch is already applied?!\n");
            }
            System.out.println("Error: Market Free patch Failed!\nor patch is already applied?!\n");
            if (!z6) {
                System.out.println("Error: Cached License Key patch Failed!\nor patch is already applied?!\n");
            }
            C2500.m6899();
            return;
        }
        throw new FileNotFoundException();
    }
}