Fix deopter not working

This commit is contained in:
solohsu 2019-04-24 10:24:28 +08:00
parent 1006a3a034
commit 2bf1acf601
3 changed files with 30 additions and 3 deletions

View File

@ -2,8 +2,8 @@ package com.elderdrivers.riru.edxp.sandhook.config;
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;
import com.swift.sandhook.xposedcompat.XposedCompat;
import com.swift.sandhook.xposedcompat.methodgen.SandHookXposedBridge;
@ -45,8 +45,13 @@ public class SandHookProvider extends BaseHookProvider {
}
@Override
public void deoptMethods(String packageName, ClassLoader classLoader) {
PrebuiltMethodsDeopter.deoptMethods(packageName, classLoader);
public Object findMethodNative(Class clazz, String methodName, String methodSig) {
return Main.findMethodNative(clazz, methodName, methodSig);
}
@Override
public void deoptMethodNative(Object method) {
Main.deoptMethodNative(method);
}
@Override

View File

@ -1,5 +1,6 @@
package com.elderdrivers.riru.edxp.whale.config;
import com.elderdrivers.riru.edxp.Main;
import com.elderdrivers.riru.edxp.config.BaseHookProvider;
import com.lody.whale.WhaleRuntime;
@ -39,6 +40,16 @@ public class WhaleHookProvider extends BaseHookProvider {
return hookMethod;
}
@Override
public Object findMethodNative(Class clazz, String methodName, String methodSig) {
return Main.findMethodNative(clazz, methodName, methodSig);
}
@Override
public void deoptMethodNative(Object method) {
Main.deoptMethodNative(method);
}
@Override
public long getMethodId(Member member) {
return WhaleRuntime.getMethodSlot(member);

View File

@ -1,5 +1,6 @@
package com.elderdrivers.riru.edxp.yahfa.config;
import com.elderdrivers.riru.edxp.Main;
import com.elderdrivers.riru.edxp.config.BaseHookProvider;
import com.elderdrivers.riru.edxp.yahfa.dexmaker.DexMakerUtils;
import com.elderdrivers.riru.edxp.yahfa.dexmaker.DynamicBridge;
@ -24,4 +25,14 @@ public class YahfaHookProvider extends BaseHookProvider {
public Member findMethodNative(Member hookMethod) {
return DexMakerUtils.findMethodNative(hookMethod);
}
@Override
public Object findMethodNative(Class clazz, String methodName, String methodSig) {
return Main.findMethodNative(clazz, methodName, methodSig);
}
@Override
public void deoptMethodNative(Object method) {
Main.deoptMethodNative(method);
}
}