From 69533ce5b6cb17c2a44808de15b45b32aa2adb5e Mon Sep 17 00:00:00 2001 From: solohsu Date: Wed, 23 Jan 2019 00:51:01 +0800 Subject: [PATCH] Delete unused hookers --- .../entry/hooker/InstrumentationHooker.java | 59 --------------- .../xposed/entry/hooker/MakeAppHooker.java | 73 ------------------- 2 files changed, 132 deletions(-) delete mode 100644 Bridge/src/main/java/com/elderdrivers/riru/xposed/entry/hooker/InstrumentationHooker.java delete mode 100644 Bridge/src/main/java/com/elderdrivers/riru/xposed/entry/hooker/MakeAppHooker.java diff --git a/Bridge/src/main/java/com/elderdrivers/riru/xposed/entry/hooker/InstrumentationHooker.java b/Bridge/src/main/java/com/elderdrivers/riru/xposed/entry/hooker/InstrumentationHooker.java deleted file mode 100644 index 94bdef67..00000000 --- a/Bridge/src/main/java/com/elderdrivers/riru/xposed/entry/hooker/InstrumentationHooker.java +++ /dev/null @@ -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) { - - } - - } -} diff --git a/Bridge/src/main/java/com/elderdrivers/riru/xposed/entry/hooker/MakeAppHooker.java b/Bridge/src/main/java/com/elderdrivers/riru/xposed/entry/hooker/MakeAppHooker.java deleted file mode 100644 index 4f025d33..00000000 --- a/Bridge/src/main/java/com/elderdrivers/riru/xposed/entry/hooker/MakeAppHooker.java +++ /dev/null @@ -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; - } -}