Velasquez_V4 v3.0.0版本的 MD5 值为:f925d3b85f8d5849bcc8f37caec6acf7

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


package andhook.lib.xposed;

import android.content.res.Resources;
import android.util.Log;
import com.swift.sandhook.utils.FileUtils$FileMode;
import dalvik.system.DexFile;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.Closeable;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Member;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.WeakHashMap;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.zip.ZipFile;
import obfuse4.obfuse.NPStringFog4;
public final class XposedHelpers {
    private static final String f16 = "XposedHelpers";
    private static final HashMap<String, Field> f19 = new HashMap<>();
    private static final HashMap<String, Method> f20 = new HashMap<>();
    private static final HashMap<String, Constructor<?>> f18 = new HashMap<>();
    private static final WeakHashMap<Object, HashMap<String, Object>> f17 = new WeakHashMap<>();
    private static final HashMap<String, ThreadLocal<AtomicInteger>> f21 = new HashMap<>();

    public static Class<?> m90(String className, ClassLoader classLoader) {
        if (classLoader == null) {
            classLoader = ClassLoader.getSystemClassLoader();
        }
        try {
            return classLoader.loadClass(className);
        } catch (ClassNotFoundException e) {
            throw new C0010(e);
        }
    }

    public static Class<?> m91(String className, ClassLoader classLoader) {
        try {
            return m90(className, classLoader);
        } catch (ClassNotFoundError e) {
            return null;
        }
    }

    public static Field m100(Class<?> clazz, String fieldName) {
        String fullFieldName = clazz.getName() + '#' + fieldName;
        if (f19.containsKey(fullFieldName)) {
            Field field = f19.get(fullFieldName);
            if (field == null) {
                throw new NoSuchFieldError(fullFieldName);
            }
            return field;
        }
        try {
            Field field2 = m102(clazz, fieldName);
            field2.setAccessible(true);
            f19.put(fullFieldName, field2);
            return field2;
        } catch (NoSuchFieldException e) {
            f19.put(fullFieldName, null);
            throw new NoSuchFieldError(fullFieldName);
        }
    }

    public static Field m101(Class<?> clazz, String fieldName) {
        try {
            return m100(clazz, fieldName);
        } catch (NoSuchFieldError e) {
            return null;
        }
    }

    private static Field m102(Class<?> clazz, String fieldName) throws NoSuchFieldException {
        try {
            return clazz.getDeclaredField(fieldName);
        } catch (NoSuchFieldException e) {
            while (true) {
                clazz = clazz.getSuperclass();
                if (clazz == null || clazz.equals(Object.class)) {
                    break;
                }
                try {
                    return clazz.getDeclaredField(fieldName);
                } catch (NoSuchFieldException e2) {
                }
            }
            throw e;
        }
    }

    public static Field m103(Class<?> clazz, Class<?> type) {
        Field[] declaredFields;
        Class<? super Object> superclass;
        Class<?> clz = clazz;
        do {
            for (Field field : clz.getDeclaredFields()) {
                if (field.getType() == type) {
                    field.setAccessible(true);
                    return field;
                }
            }
            superclass = clz.getSuperclass();
            clz = superclass;
        } while (superclass != null);
        throw new NoSuchFieldError(NPStringFog4.decode("220D500A56155B03124449465412") + type.getName() + NPStringFog4.decode("440D5B46515955164110") + clazz.getName());
    }

    public static C0003 m88(Class<?> clazz, String methodName, Object... parameterTypesAndCallback) {
        if (parameterTypesAndCallback.length == 0 || !(parameterTypesAndCallback[parameterTypesAndCallback.length - 1] instanceof XC_MethodHook)) {
            throw new IllegalArgumentException(NPStringFog4.decode("0A0B15055359580753535B16555704590F5C00"));
        }
        XC_MethodHook callback = (XC_MethodHook) parameterTypesAndCallback[parameterTypesAndCallback.length - 1];
        Method m = m107(clazz, methodName, m131(clazz.getClassLoader(), parameterTypesAndCallback));
        return XposedBridge.m69(m, callback);
    }

    public static C0003 m89(String className, ClassLoader classLoader, String methodName, Object... parameterTypesAndCallback) {
        return m88(m90(className, classLoader), methodName, parameterTypesAndCallback);
    }

    public static Method m108(Class<?> clazz, String methodName, Object... parameterTypes) {
        return m107(clazz, methodName, m131(clazz.getClassLoader(), parameterTypes));
    }

    public static Method m110(Class<?> clazz, String methodName, Object... parameterTypes) {
        try {
            return m108(clazz, methodName, parameterTypes);
        } catch (NoSuchMethodError | ClassNotFoundError e) {
            return null;
        }
    }

    public static Method m109(String className, ClassLoader classLoader, String methodName, Object... parameterTypes) {
        return m107(m90(className, classLoader), methodName, m131(classLoader, parameterTypes));
    }

    public static Method m111(String className, ClassLoader classLoader, String methodName, Object... parameterTypes) {
        try {
            return m109(className, classLoader, methodName, parameterTypes);
        } catch (NoSuchMethodError | ClassNotFoundError e) {
            return null;
        }
    }

    public static Method m107(Class<?> clazz, String methodName, Class<?>... parameterTypes) {
        String fullMethodName = clazz.getName() + '#' + methodName + m134(parameterTypes) + NPStringFog4.decode("47014D075141");
        if (f20.containsKey(fullMethodName)) {
            Method method = f20.get(fullMethodName);
            if (method == null) {
                throw new NoSuchMethodError(fullMethodName);
            }
            return method;
        }
        try {
            Method method2 = clazz.getDeclaredMethod(methodName, parameterTypes);
            method2.setAccessible(true);
            f20.put(fullMethodName, method2);
            return method2;
        } catch (NoSuchMethodException e) {
            f20.put(fullMethodName, null);
            throw new NoSuchMethodError(fullMethodName);
        }
    }

    public static Method[] m112(Class<?> clazz, Class<?> returnType, Class<?>... parameterTypes) {
        Method[] declaredMethods;
        LinkedList<Method> result = new LinkedList<>();
        for (Method method : clazz.getDeclaredMethods()) {
            if (returnType == null || returnType == method.getReturnType()) {
                Class<?>[] methodParameterTypes = method.getParameterTypes();
                if (parameterTypes.length == methodParameterTypes.length) {
                    boolean match = true;
                    int i = 0;
                    while (true) {
                        if (i < parameterTypes.length) {
                            if (parameterTypes[i] == methodParameterTypes[i]) {
                                i++;
                            } else {
                                match = false;
                                break;
                            }
                        } else {
                            break;
                        }
                    }
                    if (match) {
                        method.setAccessible(true);
                        result.add(method);
                    }
                }
            }
        }
        return (Method[]) result.toArray(new Method[result.size()]);
    }

    public static Method m104(Class<?> clazz, String methodName, Class<?>... parameterTypes) {
        Method[] declaredMethods;
        Class<? super Object> superclass;
        String fullMethodName = clazz.getName() + '#' + methodName + m134(parameterTypes) + NPStringFog4.decode("47065015465855115158");
        if (f20.containsKey(fullMethodName)) {
            Method method = f20.get(fullMethodName);
            if (method == null) {
                throw new NoSuchMethodError(fullMethodName);
            }
            return method;
        }
        try {
            Method method2 = m107(clazz, methodName, parameterTypes);
            f20.put(fullMethodName, method2);
            return method2;
        } catch (NoSuchMethodError e) {
            Method bestMatch = null;
            Class<?> clz = clazz;
            boolean considerPrivateMethods = true;
            do {
                for (Method method3 : clz.getDeclaredMethods()) {
                    if ((considerPrivateMethods || !Modifier.isPrivate(method3.getModifiers())) && method3.getName().equals(methodName) && ClassUtils.m51(parameterTypes, method3.getParameterTypes(), true) && (bestMatch == null || MemberUtils.compareParameterTypes(method3.getParameterTypes(), bestMatch.getParameterTypes(), parameterTypes) < 0)) {
                        bestMatch = method3;
                    }
                }
                considerPrivateMethods = false;
                superclass = clz.getSuperclass();
                clz = superclass;
            } while (superclass != null);
            if (bestMatch != null) {
                bestMatch.setAccessible(true);
                f20.put(fullMethodName, bestMatch);
                return bestMatch;
            }
            NoSuchMethodError e2 = new NoSuchMethodError(fullMethodName);
            f20.put(fullMethodName, null);
            throw e2;
        }
    }

    public static Method m106(Class<?> clazz, String methodName, Object... args) {
        return m104(clazz, methodName, m133(args));
    }

    public static Method m105(Class<?> clazz, String methodName, Class<?>[] parameterTypes, Object[] args) {
        Class<?>[] argsClasses = null;
        for (int i = 0; i < parameterTypes.length; i++) {
            if (parameterTypes[i] == null) {
                if (argsClasses == null) {
                    argsClasses = m133(args);
                }
                parameterTypes[i] = argsClasses[i];
            }
        }
        return m104(clazz, methodName, parameterTypes);
    }

    public static Class<?>[] m133(Object... args) {
        Class<?>[] clazzes = new Class[args.length];
        for (int i = 0; i < args.length; i++) {
            clazzes[i] = args[i] != null ? args[i].getClass() : null;
        }
        return clazzes;
    }

    private static Class<?>[] m131(ClassLoader classLoader, Object[] parameterTypesAndCallback) {
        Class<?>[] parameterClasses = null;
        for (int i = parameterTypesAndCallback.length - 1; i >= 0; i--) {
            Object type = parameterTypesAndCallback[i];
            if (type == null) {
                throw new C0010(NPStringFog4.decode("140547075F5040004010444F4157425D144A10445F5C10125352185F43555B"), null);
            }
            if (!(type instanceof XC_MethodHook)) {
                if (parameterClasses == null) {
                    parameterClasses = new Class[i + 1];
                }
                if (type instanceof Class) {
                    parameterClasses[i] = (Class) type;
                } else if (type instanceof String) {
                    parameterClasses[i] = m90((String) type, classLoader);
                } else {
                    throw new C0010(NPStringFog4.decode("140547075F5040004010444F4157425D144A1044545A105A544518535319444201075C005B505045534310755D531143415616446247165B5F50"), null);
                }
            }
        }
        if (parameterClasses == null) {
            return new Class[0];
        }
        return parameterClasses;
    }

    public static Class<?>[] m119(Class<?>... clazzes) {
        return clazzes;
    }

    private static String m134(Class<?>... clazzes) {
        StringBuilder sb = new StringBuilder(NPStringFog4.decode("4C"));
        boolean first = true;
        for (Class<?> clazz : clazzes) {
            if (first) {
                first = false;
            } else {
                sb.append(NPStringFog4.decode("48"));
            }
            if (clazz != null) {
                sb.append(clazz.getCanonicalName());
            } else {
                sb.append(NPStringFog4.decode("0A11590A"));
            }
        }
        sb.append(NPStringFog4.decode("4D"));
        return sb.toString();
    }

    public static Constructor<?> m96(Class<?> clazz, Object... parameterTypes) {
        return m95(clazz, m131(clazz.getClassLoader(), parameterTypes));
    }

    public static Constructor<?> m98(Class<?> clazz, Object... parameterTypes) {
        try {
            return m96(clazz, parameterTypes);
        } catch (NoSuchMethodError | ClassNotFoundError e) {
            return null;
        }
    }

    public static Constructor<?> m97(String className, ClassLoader classLoader, Object... parameterTypes) {
        return m95(m90(className, classLoader), m131(classLoader, parameterTypes));
    }

    public static Constructor<?> m99(String className, ClassLoader classLoader, Object... parameterTypes) {
        try {
            return m97(className, classLoader, parameterTypes);
        } catch (NoSuchMethodError | ClassNotFoundError e) {
            return null;
        }
    }

    public static Constructor<?> m95(Class<?> clazz, Class<?>... parameterTypes) {
        String fullConstructorName = clazz.getName() + m134(parameterTypes) + NPStringFog4.decode("47014D075141");
        if (f18.containsKey(fullConstructorName)) {
            Constructor<?> constructor = f18.get(fullConstructorName);
            if (constructor == null) {
                throw new NoSuchMethodError(fullConstructorName);
            }
            return constructor;
        }
        try {
            Constructor<?> constructor2 = clazz.getDeclaredConstructor(parameterTypes);
            constructor2.setAccessible(true);
            f18.put(fullConstructorName, constructor2);
            return constructor2;
        } catch (NoSuchMethodException e) {
            f18.put(fullConstructorName, null);
            throw new NoSuchMethodError(fullConstructorName);
        }
    }

    public static C0003 m86(Class<?> clazz, Object... parameterTypesAndCallback) {
        if (parameterTypesAndCallback.length == 0 || !(parameterTypesAndCallback[parameterTypesAndCallback.length - 1] instanceof XC_MethodHook)) {
            throw new IllegalArgumentException(NPStringFog4.decode("0A0B15055359580753535B16555704590F5C00"));
        }
        XC_MethodHook callback = (XC_MethodHook) parameterTypesAndCallback[parameterTypesAndCallback.length - 1];
        Constructor<?> m = m95(clazz, m131(clazz.getClassLoader(), parameterTypesAndCallback));
        return XposedBridge.m69(m, callback);
    }

    public static C0003 m87(String className, ClassLoader classLoader, Object... parameterTypesAndCallback) {
        return m86(m90(className, classLoader), parameterTypesAndCallback);
    }

    public static Constructor<?> m92(Class<?> clazz, Class<?>... parameterTypes) {
        String fullConstructorName = clazz.getName() + m134(parameterTypes) + NPStringFog4.decode("47065015465855115158");
        if (f18.containsKey(fullConstructorName)) {
            Constructor<?> constructor = f18.get(fullConstructorName);
            if (constructor == null) {
                throw new NoSuchMethodError(fullConstructorName);
            }
            return constructor;
        }
        try {
            Constructor<?> constructor2 = m95(clazz, parameterTypes);
            f18.put(fullConstructorName, constructor2);
            return constructor2;
        } catch (NoSuchMethodError e) {
            Constructor<?> bestMatch = null;
            Constructor<?>[] constructors = clazz.getDeclaredConstructors();
            for (Constructor<?> constructor3 : constructors) {
                if (ClassUtils.m51(parameterTypes, constructor3.getParameterTypes(), true) && (bestMatch == null || MemberUtils.compareParameterTypes(constructor3.getParameterTypes(), bestMatch.getParameterTypes(), parameterTypes) < 0)) {
                    bestMatch = constructor3;
                }
            }
            if (bestMatch != null) {
                bestMatch.setAccessible(true);
                f18.put(fullConstructorName, bestMatch);
                return bestMatch;
            }
            f18.put(fullConstructorName, null);
            throw new NoSuchMethodError(fullConstructorName);
        }
    }

    public static Constructor<?> m94(Class<?> clazz, Object... args) {
        return m92(clazz, m133(args));
    }

    public static Constructor<?> m93(Class<?> clazz, Class<?>[] parameterTypes, Object[] args) {
        Class<?>[] argsClasses = null;
        for (int i = 0; i < parameterTypes.length; i++) {
            if (parameterTypes[i] == null) {
                if (argsClasses == null) {
                    argsClasses = m133(args);
                }
                parameterTypes[i] = argsClasses[i];
            }
        }
        return m92(clazz, parameterTypes);
    }

    public static int m121(Member method, Class<?> type) {
        Class<?>[] classes = method instanceof Method ? ((Method) method).getParameterTypes() : ((Constructor) method).getParameterTypes();
        for (int i = 0; i < classes.length; i++) {
            if (classes[i] == type) {
                return i;
            }
        }
        throw new NoSuchFieldError(NPStringFog4.decode("2A0B15165347550857445544115D04101540140111") + type + NPStringFog4.decode("44025A135C51140C5C10") + method);
    }

    public static int m132(Member method, Class<?> type) {
        Class<?>[] classes = method instanceof Method ? ((Method) method).getParameterTypes() : ((Constructor) method).getParameterTypes();
        int idx = -1;
        int i = 0;
        while (true) {
            int length = classes.length;
            String decode = NPStringFog4.decode("44025A135C51140C5C10");
            if (i < length) {
                if (classes[i] == type) {
                    if (idx == -1) {
                        idx = i;
                    } else {
                        throw new NoSuchFieldError(NPStringFog4.decode("290B470312415C045C105F585412125113580901455616125E5118454F495212") + type + decode + method);
                    }
                }
                i++;
            } else if (idx != -1) {
                return idx;
            } else {
                throw new NoSuchFieldError(NPStringFog4.decode("2A0B15165347550857445544115D04101540140111") + type + decode + method);
            }
        }
    }

    public static void m163(Object obj, String fieldName, Object value) {
        try {
            m100(obj.getClass(), fieldName).set(obj, value);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static void m156(Object obj, String fieldName, boolean value) {
        try {
            m100(obj.getClass(), fieldName).setBoolean(obj, value);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static void m157(Object obj, String fieldName, byte value) {
        try {
            m100(obj.getClass(), fieldName).setByte(obj, value);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static void m158(Object obj, String fieldName, char value) {
        try {
            m100(obj.getClass(), fieldName).setChar(obj, value);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static void m159(Object obj, String fieldName, double value) {
        try {
            m100(obj.getClass(), fieldName).setDouble(obj, value);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static void m160(Object obj, String fieldName, float value) {
        try {
            m100(obj.getClass(), fieldName).setFloat(obj, value);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static void m161(Object obj, String fieldName, int value) {
        try {
            m100(obj.getClass(), fieldName).setInt(obj, value);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static void m162(Object obj, String fieldName, long value) {
        try {
            m100(obj.getClass(), fieldName).setLong(obj, value);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static void m164(Object obj, String fieldName, short value) {
        try {
            m100(obj.getClass(), fieldName).setShort(obj, value);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static Object m128(Object obj, String fieldName) {
        try {
            return m100(obj.getClass(), fieldName).get(obj);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static Object m145(Object obj) {
        return m128(obj, NPStringFog4.decode("100C5C151605"));
    }

    public static boolean m116(Object obj, String fieldName) {
        try {
            return m100(obj.getClass(), fieldName).getBoolean(obj);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static byte m117(Object obj, String fieldName) {
        try {
            return m100(obj.getClass(), fieldName).getByte(obj);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static char m118(Object obj, String fieldName) {
        try {
            return m100(obj.getClass(), fieldName).getChar(obj);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static double m120(Object obj, String fieldName) {
        try {
            return m100(obj.getClass(), fieldName).getDouble(obj);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static float m122(Object obj, String fieldName) {
        try {
            return m100(obj.getClass(), fieldName).getFloat(obj);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static int m123(Object obj, String fieldName) {
        try {
            return m100(obj.getClass(), fieldName).getInt(obj);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static long m124(Object obj, String fieldName) {
        try {
            return m100(obj.getClass(), fieldName).getLong(obj);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static short m135(Object obj, String fieldName) {
        try {
            return m100(obj.getClass(), fieldName).getShort(obj);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static void m172(Class<?> clazz, String fieldName, Object value) {
        try {
            m100(clazz, fieldName).set(null, value);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static void m165(Class<?> clazz, String fieldName, boolean value) {
        try {
            m100(clazz, fieldName).setBoolean(null, value);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static void m166(Class<?> clazz, String fieldName, byte value) {
        try {
            m100(clazz, fieldName).setByte(null, value);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static void m167(Class<?> clazz, String fieldName, char value) {
        try {
            m100(clazz, fieldName).setChar(null, value);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static void m168(Class<?> clazz, String fieldName, double value) {
        try {
            m100(clazz, fieldName).setDouble(null, value);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static void m169(Class<?> clazz, String fieldName, float value) {
        try {
            m100(clazz, fieldName).setFloat(null, value);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static void m170(Class<?> clazz, String fieldName, int value) {
        try {
            m100(clazz, fieldName).setInt(null, value);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static void m171(Class<?> clazz, String fieldName, long value) {
        try {
            m100(clazz, fieldName).setLong(null, value);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static void m173(Class<?> clazz, String fieldName, short value) {
        try {
            m100(clazz, fieldName).setShort(null, value);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static Object m143(Class<?> clazz, String fieldName) {
        try {
            return m100(clazz, fieldName).get(null);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static boolean m136(Class<?> clazz, String fieldName) {
        try {
            return m100(clazz, fieldName).getBoolean(null);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static byte m137(Class<?> clazz, String fieldName) {
        try {
            return m100(clazz, fieldName).getByte(null);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static char m138(Class<?> clazz, String fieldName) {
        try {
            return m100(clazz, fieldName).getChar(null);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static double m139(Class<?> clazz, String fieldName) {
        try {
            return m100(clazz, fieldName).getDouble(null);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static float m140(Class<?> clazz, String fieldName) {
        try {
            return m100(clazz, fieldName).getFloat(null);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static int m141(Class<?> clazz, String fieldName) {
        try {
            return m100(clazz, fieldName).getInt(null);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static long m142(Class<?> clazz, String fieldName) {
        try {
            return m100(clazz, fieldName).getLong(null);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static short m144(Class<?> clazz, String fieldName) {
        try {
            return m100(clazz, fieldName).getShort(null);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        }
    }

    public static Object m78(Object obj, String methodName, Object... args) {
        try {
            return m106(obj.getClass(), methodName, args).invoke(obj, args);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        } catch (InvocationTargetException e3) {
            throw new C0011(e3.getCause());
        }
    }

    public static Object m77(Object obj, String methodName, Class<?>[] parameterTypes, Object... args) {
        try {
            return m105(obj.getClass(), methodName, parameterTypes, args).invoke(obj, args);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        } catch (InvocationTargetException e3) {
            throw new C0011(e3.getCause());
        }
    }

    public static Object m80(Class<?> clazz, String methodName, Object... args) {
        try {
            return m106(clazz, methodName, args).invoke(null, args);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        } catch (InvocationTargetException e3) {
            throw new C0011(e3.getCause());
        }
    }

    public static Object m79(Class<?> clazz, String methodName, Class<?>[] parameterTypes, Object... args) {
        try {
            return m105(clazz, methodName, parameterTypes, args).invoke(null, args);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        } catch (InvocationTargetException e3) {
            throw new C0011(e3.getCause());
        }
    }

    public static Object m149(Class<?> clazz, Object... args) {
        try {
            return m94(clazz, args).newInstance(args);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        } catch (InstantiationException e3) {
            throw new InstantiationError(e3.getMessage());
        } catch (InvocationTargetException e4) {
            throw new C0011(e4.getCause());
        }
    }

    public static Object m148(Class<?> clazz, Class<?>[] parameterTypes, Object... args) {
        try {
            return m93(clazz, parameterTypes, args).newInstance(args);
        } catch (IllegalAccessException e) {
            Log.w(NPStringFog4.decode("3C145A1557517C005E40554442"), e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e2) {
            throw e2;
        } catch (InstantiationException e3) {
            throw new InstantiationError(e3.getMessage());
        } catch (InvocationTargetException e4) {
            throw new C0011(e4.getCause());
        }
    }

    public static Object m153(Object obj, String key, Object value) {
        HashMap<String, Object> objectFields;
        Object put;
        if (obj == null) {
            throw new NullPointerException(NPStringFog4.decode("0B065F0351411408474344165F5D1610035C440A445F08"));
        }
        if (key == null) {
            throw new NullPointerException(NPStringFog4.decode("0F014C465F404711125E5F42115007100F4C0808"));
        }
        synchronized (f17) {
            objectFields = f17.get(obj);
            if (objectFields == null) {
                objectFields = new HashMap<>();
                f17.put(obj, objectFields);
            }
        }
        synchronized (objectFields) {
            put = objectFields.put(key, value);
        }
        return put;
    }

    public static Object m113(Object obj, String key) {
        Object obj2;
        if (obj == null) {
            throw new NullPointerException(NPStringFog4.decode("0B065F0351411408474344165F5D1610035C440A445F08"));
        }
        if (key == null) {
            throw new NullPointerException(NPStringFog4.decode("0F014C465F404711125E5F42115007100F4C0808"));
        }
        synchronized (f17) {
            HashMap<String, Object> objectFields = f17.get(obj);
            if (objectFields == null) {
                return null;
            }
            synchronized (objectFields) {
                obj2 = objectFields.get(key);
            }
            return obj2;
        }
    }

    public static Object m150(Object obj, String key) {
        Object remove;
        if (obj == null) {
            throw new NullPointerException(NPStringFog4.decode("0B065F0351411408474344165F5D1610035C440A445F08"));
        }
        if (key == null) {
            throw new NullPointerException(NPStringFog4.decode("0F014C465F404711125E5F42115007100F4C0808"));
        }
        synchronized (f17) {
            HashMap<String, Object> objectFields = f17.get(obj);
            if (objectFields == null) {
                return null;
            }
            synchronized (objectFields) {
                remove = objectFields.remove(key);
            }
            return remove;
        }
    }

    public static Object m155(Object obj, String key, Object value) {
        return m153(obj.getClass(), key, value);
    }

    public static Object m115(Object obj, String key) {
        return m113(obj.getClass(), key);
    }

    public static Object m152(Object obj, String key) {
        return m150(obj.getClass(), key);
    }

    public static Object m154(Class<?> clazz, String key, Object value) {
        return m153(clazz, key, value);
    }

    public static Object m114(Class<?> clazz, String key) {
        return m113(clazz, key);
    }

    public static Object m151(Class<?> clazz, String key) {
        return m150(clazz, key);
    }

    public static byte[] m76(Resources res, String path) throws IOException {
        return m147(res.getAssets().open(path));
    }

    static byte[] m147(InputStream is) throws IOException {
        ByteArrayOutputStream buf = new ByteArrayOutputStream();
        byte[] temp = new byte[FileUtils$FileMode.MODE_ISGID];
        while (true) {
            int read = is.read(temp);
            if (read > 0) {
                buf.write(temp, 0, read);
            } else {
                is.close();
                return buf.toByteArray();
            }
        }
    }

    static void m82(Closeable c) {
        if (c != null) {
            try {
                c.close();
            } catch (IOException e) {
            }
        }
    }

    static void m81(DexFile dexFile) {
        if (dexFile != null) {
            try {
                dexFile.close();
            } catch (IOException e) {
            }
        }
    }

    static void m83(ZipFile zipFile) {
        if (zipFile != null) {
            try {
                zipFile.close();
            } catch (IOException e) {
            }
        }
    }

    public static String m125(String file) throws IOException {
        try {
            MessageDigest digest = MessageDigest.getInstance(NPStringFog4.decode("292000"));
            InputStream is = new FileInputStream(file);
            byte[] buffer = new byte[8192];
            while (true) {
                int read = is.read(buffer);
                if (read > 0) {
                    digest.update(buffer, 0, read);
                } else {
                    is.close();
                    byte[] md5sum = digest.digest();
                    BigInteger bigInt = new BigInteger(1, md5sum);
                    return bigInt.toString(16);
                }
            }
        } catch (NoSuchAlgorithmException e) {
            return "";
        }
    }

    public static int m146(String method) {
        return m127(method).get().incrementAndGet();
    }

    public static int m84(String method) {
        return m127(method).get().decrementAndGet();
    }

    public static int m126(String method) {
        return m127(method).get().get();
    }

    private static ThreadLocal<AtomicInteger> m127(String method) {
        ThreadLocal<AtomicInteger> counter;
        synchronized (f21) {
            counter = f21.get(method);
            if (counter == null) {
                counter = new C0009();
                f21.put(method, counter);
            }
        }
        return counter;
    }

    static boolean m85(File file, String str) throws IOException {
        String line;
        BufferedReader in = null;
        try {
            in = new BufferedReader(new FileReader(file));
            do {
                line = in.readLine();
                if (line == null) {
                    return false;
                }
            } while (!line.contains(str));
            return true;
        } finally {
            m82(in);
        }
    }

    static Method m129(Method method) {
        int modifiers = method.getModifiers();
        if (Modifier.isStatic(modifiers) || Modifier.isPrivate(modifiers)) {
            return null;
        }
        String name = method.getName();
        Class<?>[] parameters = method.getParameterTypes();
        for (Class<?> clazz = method.getDeclaringClass().getSuperclass(); clazz != null; clazz = clazz.getSuperclass()) {
            try {
                Method superMethod = clazz.getDeclaredMethod(name, parameters);
                int modifiers2 = superMethod.getModifiers();
                if (!Modifier.isPrivate(modifiers2)) {
                    if (!Modifier.isAbstract(modifiers2)) {
                        return superMethod;
                    }
                }
                return null;
            } catch (NoSuchMethodException e) {
            }
        }
        return null;
    }

    static HashSet<Method> m130(Class<?> clazz) {
        Method[] declaredMethods;
        HashSet<Method> methods = new HashSet<>();
        for (Method method : clazz.getDeclaredMethods()) {
            Method overridden = m129(method);
            if (overridden != null) {
                methods.add(overridden);
            }
        }
        return methods;
    }
}