CrackMe.apk

Download file
    package com.facebook.common.util;

public class Hex {
    private static final byte[] DIGITS = new byte[103];
    private static final char[] FIRST_CHAR = new char[256];
    private static final char[] HEX_DIGITS = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
    private static final char[] SECOND_CHAR = new char[256];

    static {
        for (int i = 0; i < 256; i++) {
            char[] cArr = FIRST_CHAR;
            char[] cArr2 = HEX_DIGITS;
            cArr[i] = cArr2[(i >> 4) & 15];
            SECOND_CHAR[i] = cArr2[i & 15];
        }
        for (int i2 = 0; i2 <= 70; i2++) {
            DIGITS[i2] = -1;
        }
        for (byte b = 0; b < 10; b = (byte) (b + 1)) {
            DIGITS[b + 48] = b;
        }
        for (byte b2 = 0; b2 < 6; b2 = (byte) (b2 + 1)) {
            byte[] bArr = DIGITS;
            byte b3 = (byte) (b2 + 10);
            bArr[b2 + 65] = b3;
            bArr[b2 + 97] = b3;
        }
    }

    public static String byte2Hex(int i) {
        if (i > 255 || i < 0) {
            throw new IllegalArgumentException("The int converting to hex should be in range 0~255");
        }
        return String.valueOf(FIRST_CHAR[i]) + String.valueOf(SECOND_CHAR[i]);
    }

    public static String encodeHex(byte[] bArr, boolean z) {
        byte b;
        char[] cArr = new char[(bArr.length * 2)];
        int i = 0;
        int i2 = 0;
        while (i < bArr.length && ((b = bArr[i] & 255) != 0 || !z)) {
            int i3 = i2 + 1;
            cArr[i2] = FIRST_CHAR[b];
            i2 = i3 + 1;
            cArr[i3] = SECOND_CHAR[b];
            i++;
        }
        return new String(cArr, 0, i2);
    }

    /* JADX WARNING: Code restructure failed: missing block: B:8:0x001e, code lost:
        r8 = DIGITS;
     */
    /* Code decompiled incorrectly, please refer to instructions dump. */
    public static byte[] decodeHex(java.lang.String r11) {
        /*
            int r0 = r11.length()
            r1 = r0 & 1
            if (r1 != 0) goto L_0x0057
            int r1 = r0 >> 1
            byte[] r1 = new byte[r1]
            r2 = 0
            r3 = 0
            r4 = 0
        L_0x000f:
            r5 = 1
            if (r3 >= r0) goto L_0x003d
            int r6 = r3 + 1
            char r3 = r11.charAt(r3)
            r7 = 102(0x66, float:1.43E-43)
            if (r3 <= r7) goto L_0x001e
        L_0x001c:
            r2 = 1
            goto L_0x003d
        L_0x001e:
            byte[] r8 = DIGITS
            byte r3 = r8[r3]
            r9 = -1
            if (r3 != r9) goto L_0x0026
            goto L_0x001c
        L_0x0026:
            int r10 = r6 + 1
            char r6 = r11.charAt(r6)
            if (r6 <= r7) goto L_0x002f
            goto L_0x001c
        L_0x002f:
            byte r6 = r8[r6]
            if (r6 != r9) goto L_0x0034
            goto L_0x001c
        L_0x0034:
            int r3 = r3 << 4
            r3 = r3 | r6
            byte r3 = (byte) r3
            r1[r4] = r3
            int r4 = r4 + r5
            r3 = r10
            goto L_0x000f
        L_0x003d:
            if (r2 != 0) goto L_0x0040
            return r1
        L_0x0040:
            java.lang.IllegalArgumentException r0 = new java.lang.IllegalArgumentException
            java.lang.StringBuilder r1 = new java.lang.StringBuilder
            r1.<init>()
            java.lang.String r2 = "Invalid hexadecimal digit: "
            r1.append(r2)
            r1.append(r11)
            java.lang.String r11 = r1.toString()
            r0.<init>(r11)
            throw r0
        L_0x0057:
            java.lang.IllegalArgumentException r11 = new java.lang.IllegalArgumentException
            java.lang.String r0 = "Odd number of characters."
            r11.<init>(r0)
            throw r11
        */
        throw new UnsupportedOperationException("Method not decompiled: com.facebook.common.util.Hex.decodeHex(java.lang.String):byte[]");
    }

    public static byte[] hexStringToByteArray(String str) {
        return decodeHex(str.replaceAll(" ", ""));
    }
}
    
Download file