Remove DexBuilder

This commit is contained in:
YuKongA
2022-03-11 22:53:23 +08:00
parent 6aa89685e6
commit 304ae68c59
13 changed files with 3 additions and 916 deletions

View File

@@ -4,24 +4,14 @@ 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分
@@ -29,6 +19,6 @@ class SecurityCenter : IXposedHookLoadPackage {
//去除自动连招黑名单
RemoveMacroBlacklist().handleLoadPackage(lpparam)
//显示电池温度
ShowBatteryTemperature(dexHelper).handleLoadPackage(lpparam)
ShowBatteryTemperature().handleLoadPackage(lpparam)
}
}

View File

@@ -16,37 +16,12 @@ import cn.fkj233.ui.activity.dp2px
import com.lt2333.simplicitytools.util.*
import de.robv.android.xposed.IXposedHookLoadPackage
import de.robv.android.xposed.callbacks.XC_LoadPackage
import me.iacn.biliroaming.utils.DexHelper
import java.lang.reflect.Field
class ShowBatteryTemperature(private val dexHelper: DexHelper?): IXposedHookLoadPackage {
class ShowBatteryTemperature: IXposedHookLoadPackage {
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
if (!XSPUtils.getBoolean("battery_life_function", false)) return
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)
method.hookBeforeMethod { it.result = true }
val a = "com.miui.powercenter.a\$a".findClass(lpparam.classLoader)
"com.miui.powercenter.a".hookBeforeMethod(lpparam.classLoader, "b", Context::class.java) {
it.result = getBatteryTemperature(it.args[0] as Context).toString()