加入多项 Hook 策略

This commit is contained in:
2022-01-25 04:17:37 +08:00
parent f1e64c293c
commit d93b4bdc7f

View File

@@ -240,13 +240,36 @@ class HookMain : IXposedHookLoadPackage {
}) })
} }
/** Hook CoreService 全部方法 */ /** Hook CoreService 全部方法 */
runWithoutError("CoreServiceAllMethods") { if (lpparam.packageName == TIM_PACKAGE_NAME)
if (XPrefUtils.getBoolean(HookMedium.ENABLE_QQTIM_CORESERVICE_BAN)) runWithoutError("CoreServiceAllMethods") {
lpparam.classLoader.loadClass("$QQ_PACKAGE_NAME.app.CoreService") if (XPrefUtils.getBoolean(HookMedium.ENABLE_QQTIM_CORESERVICE_BAN))
.methods.forEach { lpparam.classLoader.loadClass("$QQ_PACKAGE_NAME.app.CoreService")
if (it.name != "onCreate" && it.name != "onDestroy" && it.name != "onBind") .methods.forEach {
XposedBridge.hookMethod(it, replaceToNull) if (it.name != "onCreate" && it.name != "onDestroy" && it.name != "onBind")
} XposedBridge.hookMethod(it, replaceToNull)
}
}
/** Hook CoreService 指定方法 */
else runWithoutError("CoreServiceKnownMethods") {
if (XPrefUtils.getBoolean(HookMedium.ENABLE_QQTIM_CORESERVICE_BAN)) {
XposedHelpers.findAndHookMethod(
"$QQ_PACKAGE_NAME.app.CoreService",
lpparam.classLoader, "startTempService", replaceToNull
)
XposedHelpers.findAndHookMethod(
"$QQ_PACKAGE_NAME.app.CoreService",
lpparam.classLoader, "startCoreService", Boolean::class.java, replaceToNull
)
XposedHelpers.findAndHookMethod(
"$QQ_PACKAGE_NAME.app.CoreService",
lpparam.classLoader,
"onStartCommand",
Intent::class.java, Int::class.java, Int::class.java,
object : XC_MethodReplacement() {
override fun replaceHookedMethod(param: MethodHookParam?) = 2
})
}
} }
/** Hook CoreService 启动方法 */ /** Hook CoreService 启动方法 */
runWithoutError("CoreService") { runWithoutError("CoreService") {