Fix Android 9 crash (#114)

This commit is contained in:
方块君 2022-10-03 20:39:53 +08:00 committed by GitHub
parent 2c7444b581
commit eb870b593d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 6 deletions

View File

@ -102,9 +102,7 @@ public class LSPApplication {
LSPLoader.initModules(appLoadedApk);
Log.i(TAG, "Modules initialized");
switchClassLoader("mBaseClassLoader");
switchClassLoader("mDefaultClassLoader");
switchClassLoader("mClassLoader");
switchAllClassLoader();
doSigBypass(context);
} catch (Throwable e) {
throw new RuntimeException("Do hook", e);
@ -324,8 +322,13 @@ public class LSPApplication {
}
}
private static void switchClassLoader(String fieldName) {
var obj = XposedHelpers.getObjectField(appLoadedApk, fieldName);
XposedHelpers.setObjectField(stubLoadedApk, fieldName, obj);
private static void switchAllClassLoader() {
var fields = LoadedApk.class.getDeclaredFields();
for (Field field : fields) {
if (field.getType() == ClassLoader.class) {
var obj = XposedHelpers.getObjectField(appLoadedApk, field.getName());
XposedHelpers.setObjectField(stubLoadedApk, field.getName(), obj);
}
}
}
}