From 2a80e64ee0d979112caf7ad8054e0cfdcecb2cce Mon Sep 17 00:00:00 2001 From: Fankesyooni Date: Fri, 1 Apr 2022 01:39:49 +0800 Subject: [PATCH] Added new function --- .../yukihookapi/hook/param/PackageParam.kt | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/param/PackageParam.kt b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/param/PackageParam.kt index d8d67fc5..0af94971 100644 --- a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/param/PackageParam.kt +++ b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/param/PackageParam.kt @@ -82,6 +82,14 @@ open class PackageParam(private var wrapper: PackageParamWrapper? = null) { */ val isFirstApplication get() = packageName == processName + /** + * 获取当前 Hook APP 的主进程名称 + * + * 其对应的就是 [packageName] + * @return [String] + */ + val mainProcessName get() = packageName + /** * 获得当前使用的存取数据对象缓存实例 * @return [YukiHookModulePrefs] @@ -124,6 +132,24 @@ open class PackageParam(private var wrapper: PackageParamWrapper? = null) { if (packageName == name) loadHooker(hooker) } + /** + * 装载并 Hook APP 的指定进程 + * @param name 进程名 - 若要指定主进程可填写 [mainProcessName] - 效果与 [isFirstApplication] 一致 + * @param initiate 方法体 + */ + fun withProcess(name: String, initiate: PackageParam.() -> Unit) { + if (processName == name) initiate(this) + } + + /** + * 装载并 Hook APP 的指定进程 + * @param name 进程名 - 若要指定主进程可填写 [mainProcessName] - 效果与 [isFirstApplication] 一致 + * @param hooker Hook 子类 + */ + fun withProcess(name: String, hooker: YukiBaseHooker) { + if (processName == name) loadHooker(hooker) + } + /** * 装载 Hook 子类 *