Modify naming of some functions

This commit is contained in:
2022-08-08 21:45:20 +08:00
parent 9a2a86d8b4
commit d291b36805
3 changed files with 19 additions and 19 deletions

View File

@@ -563,7 +563,7 @@ class YukiMemberHookCreater(@PublishedApi internal val packageParam: PackagePara
}
}
}
return YukiHookHelper.hookMethod(hookMethod = this, if (isReplaceHookMode) replaceMent else beforeAfterHook)
return YukiHookHelper.hookMember(member = this, if (isReplaceHookMode) replaceMent else beforeAfterHook)
}
/**

View File

@@ -275,7 +275,7 @@ object YukiHookBridge {
/** Hook [Application] 装载方法 */
runCatching {
if (AppLifecycleCallback.isCallbackSetUp) {
YukiHookHelper.hookMethod(YukiHookHelper.findMethod(ApplicationClass, name = "attach", ContextClass), object : YukiMemberHook() {
YukiHookHelper.hookMember(YukiHookHelper.findMethod(ApplicationClass, name = "attach", ContextClass), object : YukiMemberHook() {
override fun beforeHookedMember(wrapper: HookParamWrapper) {
(wrapper.args?.get(0) as? Context?)?.also { AppLifecycleCallback.attachBaseContextCallback?.invoke(it, false) }
}
@@ -284,17 +284,17 @@ object YukiHookBridge {
(wrapper.args?.get(0) as? Context?)?.also { AppLifecycleCallback.attachBaseContextCallback?.invoke(it, true) }
}
})
YukiHookHelper.hookMethod(YukiHookHelper.findMethod(ApplicationClass, name = "onTerminate"), object : YukiMemberHook() {
YukiHookHelper.hookMember(YukiHookHelper.findMethod(ApplicationClass, name = "onTerminate"), object : YukiMemberHook() {
override fun afterHookedMember(wrapper: HookParamWrapper) {
(wrapper.instance as? Application?)?.also { AppLifecycleCallback.onTerminateCallback?.invoke(it) }
}
})
YukiHookHelper.hookMethod(YukiHookHelper.findMethod(ApplicationClass, name = "onLowMemory"), object : YukiMemberHook() {
YukiHookHelper.hookMember(YukiHookHelper.findMethod(ApplicationClass, name = "onLowMemory"), object : YukiMemberHook() {
override fun afterHookedMember(wrapper: HookParamWrapper) {
(wrapper.instance as? Application?)?.also { AppLifecycleCallback.onLowMemoryCallback?.invoke(it) }
}
})
YukiHookHelper.hookMethod(
YukiHookHelper.hookMember(
YukiHookHelper.findMethod(ApplicationClass, name = "onTrimMemory", IntType),
object : YukiMemberHook() {
override fun afterHookedMember(wrapper: HookParamWrapper) {
@@ -303,7 +303,7 @@ object YukiHookBridge {
AppLifecycleCallback.onTrimMemoryCallback?.invoke(self, type)
}
})
YukiHookHelper.hookMethod(YukiHookHelper.findMethod(ApplicationClass, name = "onConfigurationChanged", ConfigurationClass),
YukiHookHelper.hookMember(YukiHookHelper.findMethod(ApplicationClass, name = "onConfigurationChanged", ConfigurationClass),
object : YukiMemberHook() {
override fun afterHookedMember(wrapper: HookParamWrapper) {
val self = wrapper.instance as? Application? ?: return
@@ -313,7 +313,7 @@ object YukiHookBridge {
})
}
if (YukiHookAPI.Configs.isEnableDataChannel || AppLifecycleCallback.isCallbackSetUp)
YukiHookHelper.hookMethod(
YukiHookHelper.hookMember(
YukiHookHelper.findMethod(InstrumentationClass, name = "callApplicationOnCreate", ApplicationClass),
object : YukiMemberHook() {
override fun afterHookedMember(wrapper: HookParamWrapper) {
@@ -364,7 +364,7 @@ object YukiHookBridge {
*/
internal fun hookClassLoader(loader: ClassLoader?, result: (clazz: Class<*>, resolve: Boolean) -> Unit) {
runCatching {
YukiHookHelper.hookMethod(
YukiHookHelper.hookMember(
YukiHookHelper.findMethod(JavaClassLoader, name = "loadClass", StringType, BooleanType),
object : YukiMemberHook() {
override fun afterHookedMember(wrapper: HookParamWrapper) {
@@ -387,20 +387,20 @@ object YukiHookBridge {
if (YukiHookAPI.Configs.isEnableHookModuleStatus)
YukiHookHelper.findClass(loader, YukiHookModuleStatus::class.java).also { statusClass ->
if (isHookResourcesStatus.not()) {
YukiHookHelper.hookMethod(YukiHookHelper.findMethod(statusClass, YukiHookModuleStatus.IS_ACTIVE_METHOD_NAME),
YukiHookHelper.hookMember(YukiHookHelper.findMethod(statusClass, YukiHookModuleStatus.IS_ACTIVE_METHOD_NAME),
object : YukiMemberReplacement() {
override fun replaceHookedMember(wrapper: HookParamWrapper) = true
})
YukiHookHelper.hookMethod(YukiHookHelper.findMethod(statusClass, YukiHookModuleStatus.GET_XPOSED_TAG_METHOD_NAME),
YukiHookHelper.hookMember(YukiHookHelper.findMethod(statusClass, YukiHookModuleStatus.GET_XPOSED_TAG_METHOD_NAME),
object : YukiMemberReplacement() {
override fun replaceHookedMember(wrapper: HookParamWrapper) = executorName
})
YukiHookHelper.hookMethod(YukiHookHelper.findMethod(statusClass, YukiHookModuleStatus.GET_XPOSED_VERSION_METHOD_NAME),
YukiHookHelper.hookMember(YukiHookHelper.findMethod(statusClass, YukiHookModuleStatus.GET_XPOSED_VERSION_METHOD_NAME),
object : YukiMemberReplacement() {
override fun replaceHookedMember(wrapper: HookParamWrapper) = executorVersion
})
} else
YukiHookHelper.hookMethod(YukiHookHelper.findMethod(statusClass, YukiHookModuleStatus.HAS_RESOURCES_HOOK_METHOD_NAME),
YukiHookHelper.hookMember(YukiHookHelper.findMethod(statusClass, YukiHookModuleStatus.HAS_RESOURCES_HOOK_METHOD_NAME),
object : YukiMemberReplacement() {
override fun replaceHookedMember(wrapper: HookParamWrapper) = true
})

View File

@@ -76,7 +76,7 @@ internal object YukiHookHelper {
internal fun findClass(loader: ClassLoader?, baseClass: Class<*>) = loader?.loadClass(baseClass.name) ?: error("ClassLoader is null")
/**
* 查找变量
* 查找 [Field]
* @param baseClass 所在类
* @param name 变量名称
* @return [Field]
@@ -85,7 +85,7 @@ internal object YukiHookHelper {
internal fun findField(baseClass: Class<*>, name: String) = baseClass.getDeclaredField(name).apply { isAccessible = true }
/**
* 查找方法
* 查找 [Method]
* @param baseClass 所在类
* @param name 方法名称
* @param paramTypes 方法参数
@@ -96,21 +96,21 @@ internal object YukiHookHelper {
baseClass.getDeclaredMethod(name, *paramTypes).apply { isAccessible = true }
/**
* Hook 方法
* Hook [Member]
*
* 对接 [XposedBridge.hookMethod]
* @param hookMethod 需要 Hook 的方法、构造方法
* @param member 需要 Hook 的方法、构造方法
* @param callback 回调
* @return [Pair] - ([YukiMemberHook.Unhook] or null,[Boolean] 是否已经 Hook)
*/
internal fun hookMethod(hookMethod: Member?, callback: YukiHookCallback): Pair<YukiMemberHook.Unhook?, Boolean> {
internal fun hookMember(member: Member, callback: YukiHookCallback): Pair<YukiMemberHook.Unhook?, Boolean> {
runCatching {
YukiHookedMembers.hookedMembers.takeIf { it.isNotEmpty() }?.forEach {
if (it.member.toString() == hookMethod.toString()) return@runCatching it
if (it.member.toString() == member.toString()) return@runCatching it
}
}
return if (YukiHookBridge.hasXposedBridge)
YukiMemberHook.Unhook.wrapper(XposedBridge.hookMethod(hookMethod, callback.compat())).let {
YukiMemberHook.Unhook.wrapper(XposedBridge.hookMethod(member, callback.compat())).let {
YukiHookedMembers.hookedMembers.add(it)
Pair(it, false)
}