diff --git a/edxp-common/src/main/java/com/elderdrivers/riru/edxp/hooker/XposedInstallerHooker.java b/edxp-common/src/main/java/com/elderdrivers/riru/edxp/hooker/XposedInstallerHooker.java index 36c1dfe05..b58de2fa3 100644 --- a/edxp-common/src/main/java/com/elderdrivers/riru/edxp/hooker/XposedInstallerHooker.java +++ b/edxp-common/src/main/java/com/elderdrivers/riru/edxp/hooker/XposedInstallerHooker.java @@ -4,6 +4,7 @@ import android.view.View; import com.elderdrivers.riru.edxp.config.ConfigManager; +import com.elderdrivers.riru.edxp.config.EdXpConfigGlobal; import com.elderdrivers.riru.edxp.util.Utils; import java.io.File; @@ -81,7 +82,8 @@ protected void beforeHookedMethod(MethodHookParam param) throws Throwable { } } }); - XposedHelpers.findAndHookMethod("org.meowcat.edxposed.manager.StatusInstallerFragment", classLoader, "getCanonicalFile", File.class, new XC_MethodHook() { + Class clazz = XposedHelpers.findClassIfExists("org.meowcat.edxposed.manager.StatusInstallerFragment", classLoader); + XposedHelpers.findAndHookMethod(clazz, "getCanonicalFile", File.class, new XC_MethodHook() { @Override protected void beforeHookedMethod(MethodHookParam param) throws Throwable { File arg = (File)param.args[0]; @@ -90,6 +92,15 @@ protected void beforeHookedMethod(MethodHookParam param) throws Throwable { } } }); + + // deopt manager + Object method = EdXpConfigGlobal.getHookProvider().findMethodNative( + clazz, "onCreateView", "(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;"); + if (method != null) { + EdXpConfigGlobal.getHookProvider().deoptMethodNative(method); + } else { + Utils.logE("onCreateView not found"); + } } catch (Throwable t) { Utils.logE("Could not hook Xposed Installer", t); } diff --git a/edxp-core/src/main/cpp/external/yahfa/src/HookMain.c b/edxp-core/src/main/cpp/external/yahfa/src/HookMain.c index 7dc54184f..a7d647e82 100644 --- a/edxp-core/src/main/cpp/external/yahfa/src/HookMain.c +++ b/edxp-core/src/main/cpp/external/yahfa/src/HookMain.c @@ -202,7 +202,7 @@ void *getArtMethod(JNIEnv *env, jobject jmethod) { artMethod = (void *) (*env)->FromReflectedMethod(env, jmethod); } - LOGI("ArtMethod: %p", artMethod); + LOGI("HookMain: getArtMethod: %p", artMethod); return artMethod; }