From 6789a65c4aa0a7fc0b4f4ec78a029be6e4cc25d6 Mon Sep 17 00:00:00 2001 From: ACh Sulfate Date: Sun, 2 Jul 2023 16:30:55 +0800 Subject: [PATCH] chore: NT QQ may not really have legacy StartDirector --- app/src/main/java/io/github/qauxv/core/MainHook.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/src/main/java/io/github/qauxv/core/MainHook.java b/app/src/main/java/io/github/qauxv/core/MainHook.java index 53389b8285..557bc3b86f 100644 --- a/app/src/main/java/io/github/qauxv/core/MainHook.java +++ b/app/src/main/java/io/github/qauxv/core/MainHook.java @@ -29,6 +29,7 @@ import android.system.Os; import android.system.StructUtsname; import androidx.annotation.Nullable; +import cc.hicore.QApp.QAppUtils; import cc.ioctl.hook.SettingEntryHook; import cc.ioctl.hook.bak.MuteAtAllAndRedPacket; import cc.ioctl.hook.chat.GagInfoDisclosure; @@ -172,6 +173,11 @@ private static boolean isForegroundStartupForMainProcess(Context ctx, Object ste @Nullable private static Object getStartDirector(Object step) { Class director = Initiator._StartupDirector(); + if (director == null && (QAppUtils.isQQnt())) { + // NT QQ has different StartupDirector, and removed in 8.9.63(4190) + // TODO: 2023-07-02 handle NT QQ correctly + return null; + } Object dir = Reflex.getInstanceObjectOrNull(step, "mDirector", director); if (dir == null) { dir = Reflex.getInstanceObjectOrNull(step, "a", director);