Delete unused hookers
This commit is contained in:
parent
7ec8e7ce69
commit
69533ce5b6
|
|
@ -1,59 +0,0 @@
|
|||
package com.elderdrivers.riru.xposed.entry.hooker;
|
||||
|
||||
import android.app.AndroidAppHelper;
|
||||
import android.app.Application;
|
||||
import android.app.LoadedApk;
|
||||
|
||||
import com.elderdrivers.riru.common.KeepMembers;
|
||||
|
||||
import de.robv.android.xposed.XposedBridge;
|
||||
import de.robv.android.xposed.callbacks.XC_LoadPackage;
|
||||
|
||||
import static com.elderdrivers.riru.xposed.util.ClassLoaderUtils.replaceParentClassLoader;
|
||||
import static de.robv.android.xposed.XposedHelpers.getObjectField;
|
||||
import static de.robv.android.xposed.XposedInit.INSTALLER_PACKAGE_NAME;
|
||||
import static de.robv.android.xposed.XposedInit.loadedPackagesInProcess;
|
||||
import static de.robv.android.xposed.XposedInit.logD;
|
||||
import static de.robv.android.xposed.XposedInit.logE;
|
||||
|
||||
|
||||
public class InstrumentationHooker {
|
||||
|
||||
public static class CallAppOnCreate implements KeepMembers {
|
||||
|
||||
public static String className = "android.app.Instrumentation";
|
||||
public static String methodName = "callApplicationOnCreate";
|
||||
public static String methodSig = "(Landroid/app/Application;)V";
|
||||
|
||||
public static void hook(Object thiz, Application application) {
|
||||
try {
|
||||
logD("Instrumentation#callApplicationOnCreate starts");
|
||||
LoadedApk loadedApk = (LoadedApk) getObjectField(application, "mLoadedApk");
|
||||
String reportedPackageName = application.getPackageName();
|
||||
loadedPackagesInProcess.add(reportedPackageName);
|
||||
|
||||
replaceParentClassLoader(loadedApk.getClassLoader());
|
||||
|
||||
XC_LoadPackage.LoadPackageParam lpparam = new XC_LoadPackage.LoadPackageParam(XposedBridge.sLoadedPackageCallbacks);
|
||||
lpparam.packageName = reportedPackageName;
|
||||
lpparam.processName = AndroidAppHelper.currentProcessName();
|
||||
lpparam.classLoader = loadedApk.getClassLoader();
|
||||
lpparam.appInfo = application.getApplicationInfo();
|
||||
lpparam.isFirstApplication = true;
|
||||
XC_LoadPackage.callAll(lpparam);
|
||||
|
||||
if (reportedPackageName.equals(INSTALLER_PACKAGE_NAME)) {
|
||||
XposedInstallerHooker.hookXposedInstaller(lpparam.classLoader);
|
||||
}
|
||||
} catch (Throwable throwable) {
|
||||
logE("error when hooking Instru#callAppOnCreate", throwable);
|
||||
}
|
||||
backup(thiz, application);
|
||||
}
|
||||
|
||||
public static void backup(Object thiz, Application application) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
package com.elderdrivers.riru.xposed.entry.hooker;
|
||||
|
||||
import android.app.AndroidAppHelper;
|
||||
import android.app.Application;
|
||||
import android.app.Instrumentation;
|
||||
import android.app.LoadedApk;
|
||||
|
||||
import com.elderdrivers.riru.common.KeepMembers;
|
||||
|
||||
import de.robv.android.xposed.XposedBridge;
|
||||
import de.robv.android.xposed.callbacks.XC_LoadPackage;
|
||||
|
||||
import static com.elderdrivers.riru.xposed.entry.hooker.XposedInstallerHooker.hookXposedInstaller;
|
||||
import static com.elderdrivers.riru.xposed.util.ClassLoaderUtils.replaceParentClassLoader;
|
||||
import static de.robv.android.xposed.XposedHelpers.getBooleanField;
|
||||
import static de.robv.android.xposed.XposedHelpers.getObjectField;
|
||||
import static de.robv.android.xposed.XposedInit.INSTALLER_PACKAGE_NAME;
|
||||
import static de.robv.android.xposed.XposedInit.logD;
|
||||
import static de.robv.android.xposed.XposedInit.logE;
|
||||
|
||||
|
||||
public class MakeAppHooker implements KeepMembers {
|
||||
|
||||
public static String className = "android.app.LoadedApk";
|
||||
public static String methodName = "makeApplication";
|
||||
public static String methodSig = "(ZLandroid/app/Instrumentation;)Landroid/app/Application;";
|
||||
|
||||
public static Application hook(Object thiz, boolean forceDefaultAppClass,
|
||||
Instrumentation instrumentation) {
|
||||
if (XposedBridge.disableHooks) {
|
||||
return backup(thiz, forceDefaultAppClass, instrumentation);
|
||||
}
|
||||
logD("LoadedApk#makeApplication() starts");
|
||||
boolean shouldHook = getObjectField(thiz, "mApplication") == null;
|
||||
logD("LoadedApk#makeApplication() shouldHook == " + shouldHook);
|
||||
Application application = backup(thiz, forceDefaultAppClass, instrumentation);
|
||||
if (shouldHook) {
|
||||
try {
|
||||
LoadedApk loadedApk = (LoadedApk) thiz;
|
||||
String packageName = loadedApk.getPackageName();
|
||||
|
||||
if (!getBooleanField(loadedApk, "mIncludeCode")) {
|
||||
logD("LoadedApk#makeApplication() mIncludeCode == false");
|
||||
return application;
|
||||
}
|
||||
|
||||
logD("LoadedApk#makeApplication() mIncludeCode == true");
|
||||
|
||||
replaceParentClassLoader(loadedApk.getClassLoader());
|
||||
|
||||
XC_LoadPackage.LoadPackageParam lpparam = new XC_LoadPackage.LoadPackageParam(
|
||||
XposedBridge.sLoadedPackageCallbacks);
|
||||
lpparam.packageName = packageName;
|
||||
lpparam.processName = AndroidAppHelper.currentProcessName();
|
||||
lpparam.classLoader = loadedApk.getClassLoader();
|
||||
lpparam.appInfo = loadedApk.getApplicationInfo();
|
||||
lpparam.isFirstApplication = true;
|
||||
XC_LoadPackage.callAll(lpparam);
|
||||
if (packageName.equals(INSTALLER_PACKAGE_NAME)) {
|
||||
hookXposedInstaller(lpparam.classLoader);
|
||||
}
|
||||
} catch (Throwable t) {
|
||||
logE("error when hooking LoadedApk#makeApplication", t);
|
||||
}
|
||||
}
|
||||
return application;
|
||||
}
|
||||
|
||||
public static Application backup(Object thiz, boolean forceDefaultAppClass,
|
||||
Instrumentation instrumentation) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue