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.hook.entity.YukiBaseHooker
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.xposed.YukiHookModuleStatus
import de.robv.android.xposed.callbacks.XC_LoadPackage
@@ -107,7 +107,7 @@ object YukiHookAPI {
fun onXposedLoaded(lpparam: XC_LoadPackage.LoadPackageParam) =
packageParamCallback?.invoke(
PackageParam(
EnvironmentParam(
PackageParamWrapper(
packageName = lpparam.packageName,
processName = lpparam.processName,
appClassLoader = lpparam.classLoader,
@@ -220,5 +220,5 @@ object YukiHookAPI {
* @return [PackageParam]
*/
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.hook.core.YukiHookCreater
import com.highcapable.yukihookapi.hook.entity.YukiBaseHooker
import com.highcapable.yukihookapi.hook.param.wrapper.PackageParamWrapper
/**
* 装载 Hook 的目标 APP 入口对象实现类
* @param baseParam 对接环境装载类的实现 - 默认是空的
*/
open class PackageParam(private var baseParam: EnvironmentParam? = null) {
open class PackageParam(private var baseParam: PackageParamWrapper? = null) {
/**
* 获取当前 APP 的 [ClassLoader]

View File

@@ -27,18 +27,19 @@
*/
@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 com.highcapable.yukihookapi.hook.param.PackageParam
/**
* Hook 环境装载实现类
* 用于包装 [PackageParam]
* @param packageName 包名
* @param processName 当前进程名
* @param appClassLoader APP [ClassLoader]
* @param appInfo APP [ApplicationInfo]
*/
class EnvironmentParam(
class PackageParamWrapper(
var packageName: String,
var processName: String,
var appClassLoader: ClassLoader,