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;
|
package com.elderdrivers.riru.edxp;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
|
import android.content.res.Resources;
|
||||||
|
import android.content.res.XResources;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Process;
|
import android.os.Process;
|
||||||
|
|
||||||
|
|
@ -147,4 +149,8 @@ public class Main implements KeepAll {
|
||||||
public static native void resumeAllThreads(long obj);
|
public static native void resumeAllThreads(long obj);
|
||||||
|
|
||||||
public static native int waitForGcToComplete(long thread);
|
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;
|
package com.elderdrivers.riru.edxp.sandhook.config;
|
||||||
|
|
||||||
|
import android.content.res.Resources;
|
||||||
|
import android.content.res.XResources;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.elderdrivers.riru.edxp.Main;
|
||||||
import com.elderdrivers.riru.edxp.config.BaseHookProvider;
|
import com.elderdrivers.riru.edxp.config.BaseHookProvider;
|
||||||
import com.elderdrivers.riru.edxp.deopt.PrebuiltMethodsDeopter;
|
import com.elderdrivers.riru.edxp.deopt.PrebuiltMethodsDeopter;
|
||||||
import com.elderdrivers.riru.edxp.sandhook.dexmaker.DynamicBridge;
|
import com.elderdrivers.riru.edxp.sandhook.dexmaker.DynamicBridge;
|
||||||
|
|
@ -53,4 +56,14 @@ public class SandHookProvider extends BaseHookProvider {
|
||||||
public long getMethodId(Member member) {
|
public long getMethodId(Member member) {
|
||||||
return 0;
|
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;
|
package com.elderdrivers.riru.edxp;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
|
import android.content.res.Resources;
|
||||||
|
import android.content.res.XResources;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Process;
|
import android.os.Process;
|
||||||
|
|
||||||
|
|
@ -138,4 +140,8 @@ public class Main implements KeepAll {
|
||||||
public static native void resumeAllThreads(long obj);
|
public static native void resumeAllThreads(long obj);
|
||||||
|
|
||||||
public static native int waitForGcToComplete(long thread);
|
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;
|
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.elderdrivers.riru.edxp.config.BaseHookProvider;
|
||||||
import com.lody.whale.WhaleRuntime;
|
import com.lody.whale.WhaleRuntime;
|
||||||
|
|
||||||
|
|
@ -43,4 +47,14 @@ public class WhaleHookProvider extends BaseHookProvider {
|
||||||
public long getMethodId(Member member) {
|
public long getMethodId(Member member) {
|
||||||
return WhaleRuntime.getMethodSlot(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);
|
Router.startBootstrapHook(isSystem);
|
||||||
XposedInit.initForZygote(isSystem);
|
XposedInit.initForZygote(isSystem);
|
||||||
Main.initXResourcesNative();
|
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
Utils.logE("error during Xposed initialization", t);
|
Utils.logE("error during Xposed initialization", t);
|
||||||
XposedBridge.disableHooks = true;
|
XposedBridge.disableHooks = true;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue