package p004; import android.os.IBinder; import android.os.IInterface; import android.os.Parcel; import android.util.Log; import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XposedBridge; import de.robv.android.xposed.XposedHelpers; import java.io.FileDescriptor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Member; import java.lang.reflect.Method; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.Map; /* JADX INFO: renamed from: ԫ.Ԩ, reason: contains not printable characters */ /* JADX INFO: loaded from: classes.dex */ public class C0008 implements IBinder { /* JADX INFO: renamed from: Ϳ, reason: contains not printable characters */ public static Map f4 = Collections.synchronizedMap(new HashMap()); /* JADX INFO: renamed from: ԫ.Ԩ$Ϳ, reason: contains not printable characters */ public class C0009 extends XC_MethodHook { /* JADX INFO: renamed from: Ϳ, reason: contains not printable characters */ public final /* synthetic */ Method f5; public C0009(Method method) { this.f5 = method; } public void afterHookedMethod(XC_MethodHook.MethodHookParam methodHookParam) { try { Object[] objArr = new Object[1]; Object[] objArr2 = methodHookParam.args; if (objArr2 != null) { objArr = new Object[objArr2.length + 1]; System.arraycopy(objArr2, 0, objArr, 1, objArr2.length); } Object obj = methodHookParam.thisObject; objArr[0] = obj; methodHookParam.setResult(this.f5.invoke(obj, objArr)); } catch (Exception e) { e.printStackTrace(); } } public void beforeHookedMethod(XC_MethodHook.MethodHookParam methodHookParam) { } } /* JADX WARN: Failed to find 'out' block for switch in B:66:0x0474. Please report as an issue. */ /* JADX WARN: Removed duplicated region for block: B:65:0x0473 */ /* JADX WARN: Removed duplicated region for block: B:83:0x04dd A[Catch: ClassNotFoundException -> 0x04ec, TRY_LEAVE, TryCatch #1 {ClassNotFoundException -> 0x04ec, blocks: (B:68:0x0479, B:79:0x04a8, B:81:0x04ab, B:83:0x04dd), top: B:94:0x0479 }] */ /* Code decompiled incorrectly, please refer to instructions dump. To view partially-correct add '--show-bad-code' argument */ private java.lang.Class[] parseParameterTypes(java.lang.String r25, java.lang.ClassLoader r26) { /* Method dump skipped, instruction units count: 1468 To view this dump add '--comments-level debug' option */ throw new UnsupportedOperationException("Method not decompiled: p004.C0008.parseParameterTypes(java.lang.String, java.lang.ClassLoader):java.lang.Class[]"); } public final T callOriginMethod(Object obj, Object... objArr) { StackTraceElement stackTraceElement = Thread.currentThread().getStackTrace()[6]; String str = f4.get(stackTraceElement.getClassName() + C0016.m12(new byte[]{-91}, new byte[]{-118, -92, -18, 44, 51, 33, -114, -126}) + stackTraceElement.getMethodName()); if (str == null) { return null; } String[] strArrSplit = str.split(C0016.m12(new byte[]{-39}, new byte[]{-10, -89, 91, -86, -105, -27, -46, 106})); String str2 = strArrSplit[0]; String str3 = strArrSplit[1]; String str4 = strArrSplit[2]; Class clsFindClass = XposedHelpers.findClass(str2, obj.getClass().getClassLoader()); Class[] parameterTypes = parseParameterTypes(str4, obj.getClass().getClassLoader()); return (T) callOriginMethod(C0016.m12(new byte[]{-35, -108, -124, 85, 22, 92}, new byte[]{-31, -3, -22, 60, 98, 98, 23, -30}).equals(str3) ? XposedHelpers.findConstructorBestMatch(clsFindClass, parameterTypes) : XposedHelpers.findMethodExact(clsFindClass, str3, parameterTypes), obj, objArr); } @Override // android.os.IBinder public void dump(FileDescriptor fileDescriptor, String[] strArr) { } @Override // android.os.IBinder public void dumpAsync(FileDescriptor fileDescriptor, String[] strArr) { } public XC_MethodHook.Unhook findAndHookMethod(Class cls, String str, Class[] clsArr, Method method) { Object[] objArr; try { objArr = new Object[1]; if (clsArr != null) { objArr = new Object[clsArr.length + 1]; System.arraycopy(clsArr, 0, objArr, 0, clsArr.length); } } catch (NoSuchMethodError e) { e = e; } catch (Throwable th) { th = th; } try { objArr[objArr.length - 1] = new C0009(method); XC_MethodHook.Unhook unhookFindAndHookConstructor = C0016.m12(new byte[]{101, 53, -62, -32, -12, 3}, new byte[]{89, 92, -84, -119, -128, 61, 20, 73}).equals(str) ? XposedHelpers.findAndHookConstructor(cls, objArr) : XposedHelpers.findAndHookMethod(cls, str, objArr); f4.put(method.getDeclaringClass().getName() + C0016.m12(new byte[]{-54}, new byte[]{-27, -105, -96, -45, 25, 68, -30, 59}) + method.getName(), cls.getName() + C0016.m12(new byte[]{-22}, new byte[]{-59, -106, -100, -10, -86, 37, -2, -64}) + str + C0016.m12(new byte[]{-55}, new byte[]{-26, 33, -102, 114, -66, -102, 126, 115}) + Arrays.toString(clsArr)); return unhookFindAndHookConstructor; } catch (NoSuchMethodError e2) { e = e2; Log.e(C0016.m12(new byte[]{31, 18, -123, 1, -16}, new byte[]{89, 94, -35, 81, -72, 71, -122, 101}), e.getMessage()); return null; } catch (Throwable th2) { th = th2; th.printStackTrace(); return null; } } @Override // android.os.IBinder public String getInterfaceDescriptor() { return null; } public int getVersionCode() { return 6; } @Override // android.os.IBinder public boolean isBinderAlive() { return false; } @Override // android.os.IBinder public void linkToDeath(IBinder.DeathRecipient deathRecipient, int i) { } @Override // android.os.IBinder public boolean pingBinder() { return false; } @Override // android.os.IBinder public IInterface queryLocalInterface(String str) { return null; } @Override // android.os.IBinder public boolean transact(int i, Parcel parcel, Parcel parcel2, int i2) { return false; } @Override // android.os.IBinder public boolean unlinkToDeath(IBinder.DeathRecipient deathRecipient, int i) { return false; } private final T callOriginMethod(Member member, Object obj, Object... objArr) { try { return (T) XposedBridge.invokeOriginalMethod(member, obj, objArr); } catch (IllegalAccessException e) { throw new RuntimeException(e); } catch (InvocationTargetException e2) { if (e2.getTargetException() == null) { return null; } throw new RuntimeException(e2.getTargetException()); } } public void findAndHookMethod(Class cls, String str, Class cls2, Class[] clsArr, Method method, Method method2, Method method3) { findAndHookMethod(cls, str, clsArr, method); } }