diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/Updater.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/Updater.kt new file mode 100644 index 00000000..3a99c59f --- /dev/null +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/Updater.kt @@ -0,0 +1,29 @@ +package com.lt2333.simplicitytools.hook.app + +import com.lt2333.simplicitytools.util.XSPUtils +import de.robv.android.xposed.IXposedHookLoadPackage +import de.robv.android.xposed.XC_MethodHook +import de.robv.android.xposed.XposedHelpers +import de.robv.android.xposed.callbacks.XC_LoadPackage + +class Updater : IXposedHookLoadPackage { + override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { + var letter = 'a' + for (i in 0..25) { + val classIfExists = XposedHelpers.findClassIfExists( + "com.android.updater.common.utils.$letter", lpparam.classLoader + ) ?: continue + if (classIfExists.declaredFields.size >= 9 && classIfExists.declaredMethods.size > 60) { + XposedHelpers.findAndHookMethod(classIfExists, "T", object : XC_MethodHook() { + override fun beforeHookedMethod(param: MethodHookParam) { + if (XSPUtils.getBoolean("remove_ota_validate", false)) { + param.result = false + } + } + }) + return + } + letter++ + } + } +} \ No newline at end of file