mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-05 18:25:28 +08:00
Fix an exception problem when using VariousClass to hook
This commit is contained in:
@@ -229,7 +229,7 @@ open class PackageParam(private var wrapper: PackageParamWrapper? = null) {
|
|||||||
* @return [YukiHookCreater.Result]
|
* @return [YukiHookCreater.Result]
|
||||||
*/
|
*/
|
||||||
fun VariousClass.hook(isUseAppClassLoader: Boolean = true, initiate: YukiHookCreater.() -> Unit) =
|
fun VariousClass.hook(isUseAppClassLoader: Boolean = true, initiate: YukiHookCreater.() -> Unit) =
|
||||||
get(if (isUseAppClassLoader) appClassLoader else null).hookClass.hook(isUseAppClassLoader, initiate)
|
hookClass(if (isUseAppClassLoader) appClassLoader else null).hook(isUseAppClassLoader, initiate)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hook 方法、构造类
|
* Hook 方法、构造类
|
||||||
@@ -244,12 +244,11 @@ open class PackageParam(private var wrapper: PackageParamWrapper? = null) {
|
|||||||
* [VariousClass] 转换为 [HookClass] 并绑定到 [appClassLoader]
|
* [VariousClass] 转换为 [HookClass] 并绑定到 [appClassLoader]
|
||||||
* @return [HookClass]
|
* @return [HookClass]
|
||||||
*/
|
*/
|
||||||
private val VariousClass.hookClass
|
private fun VariousClass.hookClass(loader: ClassLoader? = null) = try {
|
||||||
get() = try {
|
get(loader).hookClass
|
||||||
clazz.hookClass
|
} catch (e: Throwable) {
|
||||||
} catch (e: Throwable) {
|
HookClass(name = "VariousClass", throwable = Throwable(e.message))
|
||||||
HookClass(name = "VariousClass", throwable = Throwable(e.message))
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将目标 [Class] 绑定到 [appClassLoader]
|
* 将目标 [Class] 绑定到 [appClassLoader]
|
||||||
|
Reference in New Issue
Block a user