package top.canyie.pine.utils; import android.util.Log; import i.am.jaggu; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import top.canyie.pine.Pine; public final class Primitives { private static final String TAG = "Primitives"; private static Field classAccessFlagsField; private static Method putObject; private static Field shadowKlassField; private static Field superClassField; private static boolean triedGetShadowKlassField; private static Object unsafe; private static Class<?> unsafeClass; public static int bytes2Int(byte[] bArr) { return ((bArr[3] & 255) << 24) | (bArr[0] & 255) | ((bArr[1] & 255) << 8) | ((bArr[2] & 255) << 16); } public static long currentArtThread() { Pine.ensureInitialized(); return Pine.currentArtThread0(); } private static void ensureUnsafeReady() { if (unsafe == null) { try { unsafeClass = Class.forName(jaggu.base.decode("10130B185A0D105316650C41000351")); unsafe = getUnsafe(); } catch (Exception e) { throw new RuntimeException(jaggu.base.decode("36081657510143716879425B124541085242005E0D57060956"), e); } } } public static int evenUp(int i2) { return (i2 & 1) == 1 ? i2 + 1 : i2; } public static double floats2Double(float f, float f2) { return Double.longBitsToDouble(ints2Long(Float.floatToIntBits(f), Float.floatToIntBits(f2))); } public static int getFieldOffset(Field field) throws Exception { try { Field declaredField = Field.class.getDeclaredField(jaggu.base.decode("0C0003455210")); declaredField.setAccessible(true); return declaredField.getInt(field); } catch (Exception unused) { try { Method declaredMethod = Field.class.getDeclaredMethod(jaggu.base.decode("04031179510210554C"), new Class[0]); declaredMethod.setAccessible(true); return ((Integer) declaredMethod.invoke(field, new Object[0])).intValue(); } catch (Exception unused2) { ensureUnsafeReady(); Method declaredMethod2 = unsafeClass.getDeclaredMethod(jaggu.base.decode("0C040F53541025595D5C067D0703470347"), Field.class); declaredMethod2.setAccessible(true); return ((Integer) declaredMethod2.invoke(unsafe, field)).intValue(); } } } /* JADX WARNING: Code restructure failed: missing block: B:5:?, code lost: r2 = top.canyie.pine.utils.Primitives.unsafeClass.getDeclaredField(i.am.jaggu.base.decode("170E0063591702565D")); */ /* JADX WARNING: Code restructure failed: missing block: B:6:0x0028, code lost: r2 = top.canyie.pine.utils.Primitives.unsafeClass.getDeclaredField(i.am.jaggu.base.decode("372E2069782A26")); */ /* JADX WARNING: Code restructure failed: missing block: B:8:0x0034, code lost: r2.setAccessible(true); */ /* JADX WARNING: Code restructure failed: missing block: B:9:0x003b, code lost: return r2.get(r0); */ /* JADX WARNING: Failed to process nested try/catch */ /* JADX WARNING: Missing exception handler attribute for start block: B:4:0x001b */ private static Object getUnsafe() throws Exception { Object obj = null; Method declaredMethod = unsafeClass.getDeclaredMethod(jaggu.base.decode("04031163591702565D"), new Class[0]); declaredMethod.setAccessible(true); obj = declaredMethod.invoke(null, new Object[0]); return obj; } public static byte[] int2Bytes(int i2) { return new byte[]{(byte) (i2 & 255), (byte) ((i2 >> 8) & 255), (byte) ((i2 >> 16) & 255), (byte) ((i2 >> 24) & 255)}; } public static double ints2Double(int i2, int i3) { return Double.longBitsToDouble(ints2Long(i2, i3)); } public static long ints2Long(int i2, int i3) { return (((long) i2) & 4294967295L) | (((long) i3) << 32); } public static void removeClassFinalFlag(Class<?> cls) { if (Modifier.isFinal(cls.getModifiers())) { if (classAccessFlagsField == null) { try { Field declaredField = Class.class.getDeclaredField(jaggu.base.decode("020506534417255C595711")); classAccessFlagsField = declaredField; declaredField.setAccessible(true); } catch (NoSuchFieldException e) { throw new RuntimeException(jaggu.base.decode("200A0445444A02535B5511412709550140140F581516020A465E07"), e); } } try { classAccessFlagsField.setInt(cls, classAccessFlagsField.getInt(cls) & -17); } catch (IllegalAccessException e2) { throw new RuntimeException(e2); } } } public static void setObjectClass(Object obj, Class<?> cls) { if (obj.getClass() != cls) { if (!triedGetShadowKlassField) { triedGetShadowKlassField = true; try { Field declaredField = Object.class.getDeclaredField(jaggu.base.decode("100E04525813476F535C0341123A")); shadowKlassField = declaredField; declaredField.setAccessible(true); } catch (NoSuchFieldException e) { Log.w(jaggu.base.decode("33140C5B5E100A465D43"), jaggu.base.decode("2C040F5354104D435051065D16416B0D5F5512443E160A0A4710055D435D5D1C4313165317310D435956071C"), e); } } try { if (shadowKlassField != null) { shadowKlassField.set(obj, cls); return; } ensureUnsafeReady(); if (putObject == null) { Method declaredMethod = unsafeClass.getDeclaredMethod(jaggu.base.decode("13131179550E06534C"), Object.class, Long.TYPE, Object.class); putObject = declaredMethod; declaredMethod.setAccessible(true); } putObject.invoke(unsafe, obj, 0L, cls); } catch (Exception e2) { throw new RuntimeException(e2); } } } public static void setSuperClass(Class<?> cls, Class<?> cls2) { if (cls.getSuperclass() != cls2) { if (superClassField == null) { try { Field declaredField = Class.class.getDeclaredField(jaggu.base.decode("1013155345270F514B43")); superClassField = declaredField; declaredField.setAccessible(true); } catch (NoSuchFieldException e) { throw new RuntimeException(jaggu.base.decode("200A0445444A1045485510710D044715135A0E4341500B105D54"), e); } } try { superClassField.set(cls, cls2); } catch (IllegalAccessException e2) { throw new RuntimeException(e2); } } } }