mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-04 17:55:24 +08:00
...
This commit is contained in:
@@ -74,7 +74,7 @@ class MainHook : YukiHookXposedInitProxy {
|
||||
field {
|
||||
name = "secondText"
|
||||
type = StringType
|
||||
}.set(instance, "I am hook result")
|
||||
}.get(instance).set("I am hook result")
|
||||
}
|
||||
}
|
||||
// 注入要 Hook 的方法
|
||||
|
@@ -229,7 +229,7 @@ class YukiHookCreater(private val packageParam: PackageParam, private val hookCl
|
||||
}
|
||||
|
||||
/**
|
||||
* 替换此方法内容 - 给出返回值
|
||||
* 拦截并替换此方法内容 - 给出返回值
|
||||
*
|
||||
* 不可与 [beforeHook]、[afterHook] 同时使用
|
||||
* @param initiate [HookParam] 方法体
|
||||
@@ -240,7 +240,7 @@ class YukiHookCreater(private val packageParam: PackageParam, private val hookCl
|
||||
}
|
||||
|
||||
/**
|
||||
* 替换此方法内容 - 没有返回值 ([Unit])
|
||||
* 拦截并替换此方法内容 - 没有返回值 ([Unit])
|
||||
*
|
||||
* 不可与 [beforeHook]、[afterHook] 同时使用
|
||||
* @param initiate [HookParam] 方法体
|
||||
@@ -251,7 +251,7 @@ class YukiHookCreater(private val packageParam: PackageParam, private val hookCl
|
||||
}
|
||||
|
||||
/**
|
||||
* 替换方法返回值
|
||||
* 拦截并替换方法返回值
|
||||
*
|
||||
* 不可与 [beforeHook]、[afterHook] 同时使用
|
||||
* @param any 要替换为的返回值对象
|
||||
@@ -262,9 +262,9 @@ class YukiHookCreater(private val packageParam: PackageParam, private val hookCl
|
||||
}
|
||||
|
||||
/**
|
||||
* 替换方法返回值为 true
|
||||
* 拦截并替换方法返回值为 true
|
||||
*
|
||||
* 确保替换方法的返回对象为 [Boolean]
|
||||
* ❗确保替换方法的返回对象为 [Boolean]
|
||||
*
|
||||
* 不可与 [beforeHook]、[afterHook] 同时使用
|
||||
*/
|
||||
@@ -274,9 +274,9 @@ class YukiHookCreater(private val packageParam: PackageParam, private val hookCl
|
||||
}
|
||||
|
||||
/**
|
||||
* 替换方法返回值为 false
|
||||
* 拦截并替换方法返回值为 false
|
||||
*
|
||||
* 确保替换方法的返回对象为 [Boolean]
|
||||
* ❗确保替换方法的返回对象为 [Boolean]
|
||||
*
|
||||
* 不可与 [beforeHook]、[afterHook] 同时使用
|
||||
*/
|
||||
@@ -288,7 +288,7 @@ class YukiHookCreater(private val packageParam: PackageParam, private val hookCl
|
||||
/**
|
||||
* 拦截此方法
|
||||
*
|
||||
* 这将会禁止此方法执行并返回 null
|
||||
* ❗这将会禁止此方法执行并返回 null
|
||||
*
|
||||
* 不可与 [beforeHook]、[afterHook] 同时使用
|
||||
*/
|
||||
|
@@ -96,7 +96,7 @@ class FieldFinder(private val hookInstance: YukiHookCreater.MemberHookCreater, p
|
||||
fun failure(throwable: Throwable?) = Result(isNoSuch = true, throwable)
|
||||
|
||||
/**
|
||||
* Field 查找结果实现类
|
||||
* [Field] 查找结果实现类
|
||||
*
|
||||
* 可在这里处理找到的 [fieldInstance]
|
||||
* @param isNoSuch 是否没有找到变量 - 默认否
|
||||
@@ -112,18 +112,18 @@ class FieldFinder(private val hookInstance: YukiHookCreater.MemberHookCreater, p
|
||||
fun result(initiate: Result.() -> Unit) = apply(initiate)
|
||||
|
||||
/**
|
||||
* 设置变量实例
|
||||
* 得到变量实例处理类
|
||||
* @param instance 变量所在的实例对象 - 如果是静态可不填 - 默认 null
|
||||
* @param any 设置的实例内容
|
||||
* @return [Instance]
|
||||
*/
|
||||
fun set(instance: Any? = null, any: Any?) = give()?.set(instance, any)
|
||||
fun get(instance: Any? = null) = Instance(give()?.get(instance))
|
||||
|
||||
/**
|
||||
* 得到变量实例
|
||||
* @param instance 变量所在的实例对象 - 如果是静态可不填 - 默认 null
|
||||
* @return [T] or null
|
||||
*/
|
||||
fun <T> get(instance: Any? = null) = give()?.get(instance) as? T?
|
||||
fun <T> of(instance: Any? = null) = get(instance) as? T?
|
||||
|
||||
/**
|
||||
* 得到变量本身
|
||||
@@ -140,5 +140,35 @@ class FieldFinder(private val hookInstance: YukiHookCreater.MemberHookCreater, p
|
||||
if (isNoSuch) initiate(e ?: Throwable())
|
||||
return this
|
||||
}
|
||||
|
||||
/**
|
||||
* [Field] 实例变量处理类
|
||||
* @param instance 当前 [Field] 的实例对象
|
||||
*/
|
||||
inner class Instance(val instance: Any?) {
|
||||
|
||||
/**
|
||||
* 设置变量实例
|
||||
* @param any 设置的实例内容
|
||||
*/
|
||||
fun set(any: Any?) = give()?.set(instance, any)
|
||||
|
||||
/**
|
||||
* 设置变量实例为 true
|
||||
*
|
||||
* ❗请确保示例对象类型为 [Boolean]
|
||||
*/
|
||||
fun setTrue() = set(true)
|
||||
|
||||
/**
|
||||
* 设置变量实例为 true
|
||||
*
|
||||
* ❗请确保示例对象类型为 [Boolean]
|
||||
*/
|
||||
fun setFalse() = set(false)
|
||||
|
||||
/** 设置变量实例为 null */
|
||||
fun setNull() = set(null)
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user