This commit is contained in:
eric
2026-04-05 01:00:07 -05:00
parent b94c00fe56
commit 4bd5a33d3a
2607 changed files with 137903 additions and 92 deletions

View File

@@ -0,0 +1,177 @@
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<String, String> 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> 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> 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);
}
}