Add resources hooking support for all variants
This commit is contained in:
parent
4ee0db8734
commit
bc8b2bc16b
|
|
@ -1,6 +1,8 @@
|
|||
package com.elderdrivers.riru.edxp;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.res.Resources;
|
||||
import android.content.res.XResources;
|
||||
import android.os.Build;
|
||||
import android.os.Process;
|
||||
|
||||
|
|
@ -147,4 +149,8 @@ public class Main implements KeepAll {
|
|||
public static native void resumeAllThreads(long obj);
|
||||
|
||||
public static native int waitForGcToComplete(long thread);
|
||||
|
||||
public static native boolean initXResourcesNative();
|
||||
|
||||
public static native void rewriteXmlReferencesNative(long parserPtr, XResources origRes, Resources repRes);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,10 @@
|
|||
package com.elderdrivers.riru.edxp.sandhook.config;
|
||||
|
||||
import android.content.res.Resources;
|
||||
import android.content.res.XResources;
|
||||
import android.util.Log;
|
||||
|
||||
import com.elderdrivers.riru.edxp.Main;
|
||||
import com.elderdrivers.riru.edxp.config.BaseHookProvider;
|
||||
import com.elderdrivers.riru.edxp.deopt.PrebuiltMethodsDeopter;
|
||||
import com.elderdrivers.riru.edxp.sandhook.dexmaker.DynamicBridge;
|
||||
|
|
@ -53,4 +56,14 @@ public class SandHookProvider extends BaseHookProvider {
|
|||
public long getMethodId(Member member) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean initXResourcesNative() {
|
||||
return Main.initXResourcesNative();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void rewriteXmlReferencesNative(long parserPtr, XResources origRes, Resources repRes) {
|
||||
Main.rewriteXmlReferencesNative(parserPtr, origRes, repRes);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package com.elderdrivers.riru.edxp;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.res.Resources;
|
||||
import android.content.res.XResources;
|
||||
import android.os.Build;
|
||||
import android.os.Process;
|
||||
|
||||
|
|
@ -138,4 +140,8 @@ public class Main implements KeepAll {
|
|||
public static native void resumeAllThreads(long obj);
|
||||
|
||||
public static native int waitForGcToComplete(long thread);
|
||||
|
||||
public static native boolean initXResourcesNative();
|
||||
|
||||
public static native void rewriteXmlReferencesNative(long parserPtr, XResources origRes, Resources repRes);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
package com.elderdrivers.riru.edxp.whale.config;
|
||||
|
||||
import android.content.res.Resources;
|
||||
import android.content.res.XResources;
|
||||
|
||||
import com.elderdrivers.riru.edxp.Main;
|
||||
import com.elderdrivers.riru.edxp.config.BaseHookProvider;
|
||||
import com.lody.whale.WhaleRuntime;
|
||||
|
||||
|
|
@ -43,4 +47,14 @@ public class WhaleHookProvider extends BaseHookProvider {
|
|||
public long getMethodId(Member member) {
|
||||
return WhaleRuntime.getMethodSlot(member);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean initXResourcesNative() {
|
||||
return Main.initXResourcesNative();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void rewriteXmlReferencesNative(long parserPtr, XResources origRes, Resources repRes) {
|
||||
Main.rewriteXmlReferencesNative(parserPtr, origRes, repRes);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,7 +58,6 @@ public class Router {
|
|||
}
|
||||
Router.startBootstrapHook(isSystem);
|
||||
XposedInit.initForZygote(isSystem);
|
||||
Main.initXResourcesNative();
|
||||
} catch (Throwable t) {
|
||||
Utils.logE("error during Xposed initialization", t);
|
||||
XposedBridge.disableHooks = true;
|
||||
|
|
|
|||
Loading…
Reference in New Issue