Merge code

This commit is contained in:
2022-03-18 14:25:35 +08:00
parent 1c42bc4def
commit 6d58f0330b

View File

@@ -56,9 +56,23 @@ class HookEntry : YukiHookXposedInitProxy {
companion object { companion object {
/** BaseChatPie 类名 */ /** QQ、TIM 存在的类 */
private val BaseChatPieClass = private const val SplashActivityClass = "$QQ_PACKAGE_NAME.activity.SplashActivity"
VariousClass("$QQ_PACKAGE_NAME.activity.aio.core.BaseChatPie", "$QQ_PACKAGE_NAME.activity.BaseChatPie")
/** QQ、TIM 存在的类 */
private const val CoreServiceClass = "$QQ_PACKAGE_NAME.app.CoreService"
/** QQ、TIM 存在的类 */
private const val CoreService_KernelServiceClass = "$QQ_PACKAGE_NAME.app.CoreService\$KernelService"
/** 微信存在的类 */
private const val LauncherUIClass = "$WECHAT_PACKAGE_NAME.ui.LauncherUI"
/** 根据多个版本存的不同的类 */
private val BaseChatPieClass = VariousClass(
"$QQ_PACKAGE_NAME.activity.aio.core.BaseChatPie",
"$QQ_PACKAGE_NAME.activity.BaseChatPie"
)
} }
/** /**
@@ -151,7 +165,7 @@ class HookEntry : YukiHookXposedInitProxy {
param(CharSequenceType) param(CharSequenceType)
} }
beforeHook { beforeHook {
when (args[0] as CharSequence) { when (firstArgs as CharSequence) {
"QQ正在后台运行" -> "QQ正在后台运行" ->
args().set("QQ正在后台运行 - TSBattery 守护中") args().set("QQ正在后台运行 - TSBattery 守护中")
"TIM正在后台运行" -> "TIM正在后台运行" ->
@@ -169,7 +183,7 @@ class HookEntry : YukiHookXposedInitProxy {
when { when {
!prefs.getBoolean(ENABLE_RUN_INFO) -> {} !prefs.getBoolean(ENABLE_RUN_INFO) -> {}
isQQTIM -> isQQTIM ->
findClass(name = "$QQ_PACKAGE_NAME.activity.SplashActivity").hook { SplashActivityClass.hook {
/** /**
* Hook 启动界面的第一个 [Activity] * Hook 启动界面的第一个 [Activity]
* QQ 和 TIM 都是一样的类 * QQ 和 TIM 都是一样的类
@@ -203,7 +217,7 @@ class HookEntry : YukiHookXposedInitProxy {
} }
} }
else -> else ->
findClass(name = "$WECHAT_PACKAGE_NAME.ui.LauncherUI").hook { LauncherUIClass.hook {
/** /**
* Hook 启动界面的第一个 [Activity] * Hook 启动界面的第一个 [Activity]
* 在里面加入提示运行信息的对话框测试模块是否激活 * 在里面加入提示运行信息的对话框测试模块是否激活
@@ -242,7 +256,7 @@ class HookEntry : YukiHookXposedInitProxy {
*/ */
private fun PackageParam.hookCoreService(isQQ: Boolean) { private fun PackageParam.hookCoreService(isQQ: Boolean) {
if (prefs.getBoolean(ENABLE_QQTIM_CORESERVICE_BAN)) if (prefs.getBoolean(ENABLE_QQTIM_CORESERVICE_BAN))
findClass(name = "$QQ_PACKAGE_NAME.app.CoreService").hook { CoreServiceClass.hook {
if (isQQ) { if (isQQ) {
injectMember { injectMember {
method { name = "startTempService" } method { name = "startTempService" }
@@ -275,7 +289,7 @@ class HookEntry : YukiHookXposedInitProxy {
} }
} }
if (prefs.getBoolean(ENABLE_QQTIM_CORESERVICE_CHILD_BAN)) if (prefs.getBoolean(ENABLE_QQTIM_CORESERVICE_CHILD_BAN))
findClass(name = "$QQ_PACKAGE_NAME.app.CoreService\$KernelService").hook { CoreService_KernelServiceClass.hook {
injectMember { injectMember {
method { name = "onCreate" } method { name = "onCreate" }
afterHook { afterHook {
@@ -309,7 +323,7 @@ class HookEntry : YukiHookXposedInitProxy {
hookModuleRunningInfo(isQQTIM = true) hookModuleRunningInfo(isQQTIM = true)
if (prefs.getBoolean(ENABLE_QQTIM_WHITE_MODE)) return@loadApp if (prefs.getBoolean(ENABLE_QQTIM_WHITE_MODE)) return@loadApp
/** 通过在 SplashActivity 里取到应用的版本号 */ /** 通过在 SplashActivity 里取到应用的版本号 */
findClass(name = "$QQ_PACKAGE_NAME.activity.SplashActivity").hook { SplashActivityClass.hook {
injectMember { injectMember {
method { method {
name = "doOnCreate" name = "doOnCreate"