This commit is contained in:
2022-02-08 01:35:49 +08:00
parent 3886136812
commit 8139f15bea
3 changed files with 9 additions and 7 deletions

View File

@@ -36,7 +36,7 @@ import com.highcapable.yukihookapi.YukiHookAPI.encase
import com.highcapable.yukihookapi.annotation.DoNotUseMethod import com.highcapable.yukihookapi.annotation.DoNotUseMethod
import com.highcapable.yukihookapi.hook.entity.YukiBaseHooker import com.highcapable.yukihookapi.hook.entity.YukiBaseHooker
import com.highcapable.yukihookapi.hook.factory.processName import com.highcapable.yukihookapi.hook.factory.processName
import com.highcapable.yukihookapi.hook.param.EnvironmentParam import com.highcapable.yukihookapi.hook.param.wrapper.PackageParamWrapper
import com.highcapable.yukihookapi.hook.param.PackageParam import com.highcapable.yukihookapi.hook.param.PackageParam
import com.highcapable.yukihookapi.hook.xposed.YukiHookModuleStatus import com.highcapable.yukihookapi.hook.xposed.YukiHookModuleStatus
import de.robv.android.xposed.callbacks.XC_LoadPackage import de.robv.android.xposed.callbacks.XC_LoadPackage
@@ -107,7 +107,7 @@ object YukiHookAPI {
fun onXposedLoaded(lpparam: XC_LoadPackage.LoadPackageParam) = fun onXposedLoaded(lpparam: XC_LoadPackage.LoadPackageParam) =
packageParamCallback?.invoke( packageParamCallback?.invoke(
PackageParam( PackageParam(
EnvironmentParam( PackageParamWrapper(
packageName = lpparam.packageName, packageName = lpparam.packageName,
processName = lpparam.processName, processName = lpparam.processName,
appClassLoader = lpparam.classLoader, appClassLoader = lpparam.classLoader,
@@ -220,5 +220,5 @@ object YukiHookAPI {
* @return [PackageParam] * @return [PackageParam]
*/ */
private val Context.packagePararm private val Context.packagePararm
get() = PackageParam(EnvironmentParam(packageName, processName, classLoader, applicationInfo)) get() = PackageParam(PackageParamWrapper(packageName, processName, classLoader, applicationInfo))
} }

View File

@@ -33,12 +33,13 @@ import android.content.pm.ApplicationInfo
import com.highcapable.yukihookapi.annotation.DoNotUseMethod import com.highcapable.yukihookapi.annotation.DoNotUseMethod
import com.highcapable.yukihookapi.hook.core.YukiHookCreater import com.highcapable.yukihookapi.hook.core.YukiHookCreater
import com.highcapable.yukihookapi.hook.entity.YukiBaseHooker import com.highcapable.yukihookapi.hook.entity.YukiBaseHooker
import com.highcapable.yukihookapi.hook.param.wrapper.PackageParamWrapper
/** /**
* 装载 Hook 的目标 APP 入口对象实现类 * 装载 Hook 的目标 APP 入口对象实现类
* @param baseParam 对接环境装载类的实现 - 默认是空的 * @param baseParam 对接环境装载类的实现 - 默认是空的
*/ */
open class PackageParam(private var baseParam: EnvironmentParam? = null) { open class PackageParam(private var baseParam: PackageParamWrapper? = null) {
/** /**
* 获取当前 APP 的 [ClassLoader] * 获取当前 APP 的 [ClassLoader]

View File

@@ -27,18 +27,19 @@
*/ */
@file:Suppress("unused", "MemberVisibilityCanBePrivate", "EXPERIMENTAL_API_USAGE") @file:Suppress("unused", "MemberVisibilityCanBePrivate", "EXPERIMENTAL_API_USAGE")
package com.highcapable.yukihookapi.hook.param package com.highcapable.yukihookapi.hook.param.wrapper
import android.content.pm.ApplicationInfo import android.content.pm.ApplicationInfo
import com.highcapable.yukihookapi.hook.param.PackageParam
/** /**
* Hook 环境装载实现类 * 用于包装 [PackageParam]
* @param packageName 包名 * @param packageName 包名
* @param processName 当前进程名 * @param processName 当前进程名
* @param appClassLoader APP [ClassLoader] * @param appClassLoader APP [ClassLoader]
* @param appInfo APP [ApplicationInfo] * @param appInfo APP [ApplicationInfo]
*/ */
class EnvironmentParam( class PackageParamWrapper(
var packageName: String, var packageName: String,
var processName: String, var processName: String,
var appClassLoader: ClassLoader, var appClassLoader: ClassLoader,