From 692d43cc57704389c35e40217bd9d32326e885b3 Mon Sep 17 00:00:00 2001 From: solohsu Date: Wed, 5 Jun 2019 02:07:58 +0800 Subject: [PATCH] Fix SystemServer hook not working --- .../riru/edxp/_hooker/yahfa/SystemMainHooker.java | 6 ++---- .../java/com/elderdrivers/riru/edxp/proxy/BaseRouter.java | 7 ++++--- edxp-core/build.gradle | 4 ++-- edxp-core/template_override/common/util_functions.sh | 2 +- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/edxp-common/src/main/java/com/elderdrivers/riru/edxp/_hooker/yahfa/SystemMainHooker.java b/edxp-common/src/main/java/com/elderdrivers/riru/edxp/_hooker/yahfa/SystemMainHooker.java index 9a8b7bd5..544fe5ea 100644 --- a/edxp-common/src/main/java/com/elderdrivers/riru/edxp/_hooker/yahfa/SystemMainHooker.java +++ b/edxp-common/src/main/java/com/elderdrivers/riru/edxp/_hooker/yahfa/SystemMainHooker.java @@ -3,7 +3,7 @@ package com.elderdrivers.riru.edxp._hooker.yahfa; import android.app.ActivityThread; import com.elderdrivers.riru.common.KeepMembers; -import com.elderdrivers.riru.edxp._hooker.impl.OneplusWorkaround; +import com.elderdrivers.riru.edxp._hooker.impl.SystemMain; import de.robv.android.xposed.XC_MethodHook; @@ -13,10 +13,8 @@ public class SystemMainHooker implements KeepMembers { public static String methodName = "systemMain"; public static String methodSig = "()Landroid/app/ActivityThread;"; - public static ClassLoader systemServerCL; - public static ActivityThread hook() throws Throwable { - final XC_MethodHook methodHook = new OneplusWorkaround(); + final XC_MethodHook methodHook = new SystemMain(); final XC_MethodHook.MethodHookParam param = new XC_MethodHook.MethodHookParam(); param.thisObject = null; param.args = new Object[]{}; diff --git a/edxp-common/src/main/java/com/elderdrivers/riru/edxp/proxy/BaseRouter.java b/edxp-common/src/main/java/com/elderdrivers/riru/edxp/proxy/BaseRouter.java index f87847ef..51ab60c2 100644 --- a/edxp-common/src/main/java/com/elderdrivers/riru/edxp/proxy/BaseRouter.java +++ b/edxp-common/src/main/java/com/elderdrivers/riru/edxp/proxy/BaseRouter.java @@ -16,6 +16,7 @@ import com.elderdrivers.riru.edxp._hooker.yahfa.SystemMainHooker; import com.elderdrivers.riru.edxp.core.yahfa.HookMain; import com.elderdrivers.riru.edxp.entry.yahfa.AppBootstrapHookInfo; import com.elderdrivers.riru.edxp.entry.yahfa.SysBootstrapHookInfo; +import com.elderdrivers.riru.edxp.entry.yahfa.SysInnerHookInfo; import com.elderdrivers.riru.edxp.entry.yahfa.WorkAroundHookInfo; import com.elderdrivers.riru.edxp.util.Utils; @@ -125,13 +126,13 @@ public abstract class BaseRouter implements Router { ClassLoader classLoader = BaseRouter.class.getClassLoader(); if (useXposedApi) { XposedHelpers.findAndHookMethod(StartBootstrapServicesHooker.className, - SystemMainHooker.systemServerCL, + SystemMain.systemServerCL, StartBootstrapServicesHooker.methodName, new StartBootstrapServices()); } else { HookMain.doHookDefault( classLoader, - SystemMainHooker.systemServerCL, - SystemMainHooker.class.getName()); + SystemMain.systemServerCL, + SysInnerHookInfo.class.getName()); } } diff --git a/edxp-core/build.gradle b/edxp-core/build.gradle index 54cc90b5..41a4741b 100644 --- a/edxp-core/build.gradle +++ b/edxp-core/build.gradle @@ -3,10 +3,10 @@ import org.gradle.internal.os.OperatingSystem apply plugin: 'com.android.library' -version "v0.4.3.3_alpha" +version "v0.4.3.4_alpha" ext { - versionCode = "4330" + versionCode = "4340" module_name = "EdXposed" jar_dest_dir = "${projectDir}/template_override/system/framework/" is_windows = OperatingSystem.current().isWindows() diff --git a/edxp-core/template_override/common/util_functions.sh b/edxp-core/template_override/common/util_functions.sh index 0ed75479..3c34c357 100644 --- a/edxp-core/template_override/common/util_functions.sh +++ b/edxp-core/template_override/common/util_functions.sh @@ -1,6 +1,6 @@ #!/system/bin/sh -EDXP_VERSION="0.4.3.3_alpha (4330)" +EDXP_VERSION="0.4.3.4_alpha (4340)" ANDROID_SDK=`getprop ro.build.version.sdk` BUILD_DESC=`getprop ro.build.description` PRODUCT=`getprop ro.build.product`