Merge branch 'main' of https://github.com/qqlittleice233/SimplicityTools into qqlittleice233-main

This commit is contained in:
YuKongA
2022-03-11 17:03:23 +08:00
parent 6889d0ba34
commit 9b6b3a3508
13 changed files with 927 additions and 0 deletions

View File

@@ -2,19 +2,33 @@ package com.lt2333.simplicitytools.hook.app
import com.lt2333.simplicitytools.hook.app.securitycenter.LockOneHundred
import com.lt2333.simplicitytools.hook.app.securitycenter.RemoveMacroBlacklist
import com.lt2333.simplicitytools.hook.app.securitycenter.ShowBatteryTemperature
import com.lt2333.simplicitytools.hook.app.securitycenter.SkipWaitingTime
import com.lt2333.simplicitytools.util.log
import de.robv.android.xposed.IXposedHookLoadPackage
import de.robv.android.xposed.XposedBridge
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam
import me.iacn.biliroaming.utils.DexHelper
class SecurityCenter : IXposedHookLoadPackage {
var dexHelper: DexHelper? = null
override fun handleLoadPackage(lpparam: LoadPackageParam) {
XposedBridge.log("Simplicitytools: 成功 Hook "+javaClass.simpleName)
try {
System.loadLibrary("DexBuilder")
dexHelper = DexHelper.getInstance(lpparam.classLoader)
} catch (e: UnsatisfiedLinkError) {
log("DexBuilder 加载失败")
}
//跳过 5/10秒等待时间
SkipWaitingTime().handleLoadPackage(lpparam)
//锁定 100分
LockOneHundred().handleLoadPackage(lpparam)
//去除自动连招黑名单
RemoveMacroBlacklist().handleLoadPackage(lpparam)
//显示电池温度
ShowBatteryTemperature(dexHelper).handleLoadPackage(lpparam)
}
}

View File

@@ -0,0 +1,39 @@
package com.lt2333.simplicitytools.hook.app.securitycenter
import com.lt2333.simplicitytools.util.log
import de.robv.android.xposed.IXposedHookLoadPackage
import de.robv.android.xposed.XC_MethodReplacement
import de.robv.android.xposed.XposedBridge
import de.robv.android.xposed.callbacks.XC_LoadPackage
import me.iacn.biliroaming.utils.DexHelper
class ShowBatteryTemperature(private val dexHelper: DexHelper?): IXposedHookLoadPackage {
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
if (dexHelper == null) {
log("DexHelper为nullhook ShowBatteryTemperature 失败")
return
}
val methodIndex = dexHelper.findMethodUsingString(
"isBatteryLifeFunctionSupported",
true,
-1,
0,
null,
-1,
null,
null,
null,
true
).firstOrNull()
if (methodIndex == null) {
log("ShowBatteryTemperature 无法定位方法")
return
}
val method = dexHelper.decodeMethodIndex(methodIndex)
log(method)
XposedBridge.hookMethod(method, XC_MethodReplacement.returnConstant(true))
}
}

View File

@@ -8,6 +8,8 @@ import de.robv.android.xposed.XC_MethodReplacement
import de.robv.android.xposed.XposedBridge
import de.robv.android.xposed.XposedHelpers
import de.robv.android.xposed.callbacks.XC_LayoutInflated
import me.iacn.biliroaming.utils.DexHelper
import java.lang.reflect.Field
import java.lang.reflect.Member
import java.util.*