From 3171a4d6da55054130d47f9da18ce1a5d5b3aedd Mon Sep 17 00:00:00 2001 From: Chippppp <78024852+Chipppppppppp@users.noreply.github.com> Date: Wed, 22 Jan 2025 22:39:21 +0900 Subject: [PATCH] Fix BlockTracking.java --- .../io/github/chipppppppppp/lime/hooks/BlockTracking.java | 4 +++- .../java/io/github/chipppppppppp/lime/hooks/Constants.java | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/github/chipppppppppp/lime/hooks/BlockTracking.java b/app/src/main/java/io/github/chipppppppppp/lime/hooks/BlockTracking.java index 4b3972c7..dbc7dac1 100644 --- a/app/src/main/java/io/github/chipppppppppp/lime/hooks/BlockTracking.java +++ b/app/src/main/java/io/github/chipppppppppp/lime/hooks/BlockTracking.java @@ -14,6 +14,8 @@ public class BlockTracking implements IHook { public void hook(LimeOptions limeOptions, XC_LoadPackage.LoadPackageParam loadPackageParam) throws Throwable { if (!limeOptions.blockTracking.checked) return; + final Class noopClass = loadPackageParam.classLoader.loadClass(Constants.NOOP_HOOK.className); + XposedBridge.hookAllMethods( loadPackageParam.classLoader.loadClass(Constants.REQUEST_HOOK.className), Constants.REQUEST_HOOK.methodName, @@ -33,7 +35,7 @@ public void hook(LimeOptions limeOptions, XC_LoadPackage.LoadPackageParam loadPa protected void beforeHookedMethod(MethodHookParam param) throws Throwable { if (requests.contains(param.args[0].toString())) { param.args[0] = "noop"; - param.args[1] = null; + param.args[1] = noopClass.getDeclaredConstructor().newInstance(); } } } diff --git a/app/src/main/java/io/github/chipppppppppp/lime/hooks/Constants.java b/app/src/main/java/io/github/chipppppppppp/lime/hooks/Constants.java index b08fe832..35e6bc2f 100644 --- a/app/src/main/java/io/github/chipppppppppp/lime/hooks/Constants.java +++ b/app/src/main/java/io/github/chipppppppppp/lime/hooks/Constants.java @@ -20,6 +20,7 @@ public HookTarget(String className, String methodName) { static final HookTarget MARK_AS_READ_HOOK = new HookTarget("xN.b$d", "run"); static final HookTarget ARCHIVE_HOOK = new HookTarget("tB.N", "invokeSuspend"); static final HookTarget NOTIFICATION_READ_HOOK = new HookTarget("Pf1.c", "invokeSuspend"); + static final HookTarget NOOP_HOOK = new HookTarget("Lg1.Mb", "new"); static final HookTarget REQUEST_HOOK = new HookTarget("org.apache.thrift.l", "b"); static final HookTarget RESPONSE_HOOK = new HookTarget("org.apache.thrift.l", "a"); }