7.9 KiB
HookParam [class]
class HookParam(private val createrInstance: YukiHookCreater, private val wrapper: HookParamWrapper)
变更记录
v1.0 添加
功能描述
Hook 方法、构造类的目标对象实现类。
args [field]
val args: Array<Any?>
变更记录
在 v1.0 添加
功能描述
获取当前 Hook 对象
member或constructor的参数对象数组。
firstArgs [field]
val firstArgs: Any?
变更记录
v1.0 添加
功能描述
获取当前 Hook 对象
member或constructor的参数对象数组第一位。
lastArgs [field]
val lastArgs: Any?
变更记录
v1.0 添加
功能描述
获取当前 Hook 对象
member或constructor的参数对象数组最后一位。
instance [field]
val instance: Any
变更记录
v1.0 添加
功能描述
获取当前 Hook 实例的对象。
!> 如果你当前 Hook 的对象是一个静态,那么它将不存在实例的对象。
instanceClass [field]
val instanceClass: Class<*>
变更记录
v1.0 添加
功能描述
获取当前 Hook 实例的类对象。
method [field]
val method: Method
变更记录
v1.0 添加
功能描述
获取当前 Hook 对象的方法。
constructor [field]
val constructor: Constructor
变更记录
v1.0 添加
功能描述
获取当前 Hook 对象的构造方法。
result [field]
var result: Any?
变更记录
v1.0 添加
功能描述
获取、设置当前 Hook 对象的
method或constructor的返回值。
firstArgs [method]
inline fun <reified T> firstArgs(): T?
变更记录
v1.0.66 新增
功能描述
获取当前 Hook 对象 [method] or [constructor] 的参数对象数组第一位
T。
lastArgs [method]
inline fun <reified T> lastArgs(): T?
变更记录
v1.0.66 新增
功能描述
获取当前 Hook 对象 [method] or [constructor] 的参数对象数组最后一位
T。
instance [method]
inline fun <reified T> instance(): T
变更记录
v1.0 添加
功能描述
获取当前 Hook 实例的对象
T。
功能示例
你可以通过 instance 方法轻松使用泛型 cast 为目标对象的类型。
示例如下
instance<Activity>().finish()
args [method]
fun args(index: Int): ArgsModifyer
变更记录
v1.0 添加
功能描述
获取当前 Hook 对象的
method或constructor的参数实例化对象类。
功能示例
你可以通过 args 方法修改当前 Hook 实例的方法、构造方法的参数内容。
index 的默认值为 0,如果只有一位 param 参数,你可以不写。
你可以直接使用 set 方法设置 param 为你的目标实例,接受 Any 类型。
!> 请确保 param 类型为你的目标实例类型。
示例如下
args().set("modify the value")
你还可以使用 setNull 方法设置 param 为空。
示例如下
args(index = 1).setNull()
你还可以使用 setTrue 方法设置 param 为 true。
!> 请确保 param 类型为 Boolean。
示例如下
args(index = 2).setTrue()
你还可以使用 setFalse 方法设置 param 为 false。
!> 请确保 param 类型为 Boolean。
示例如下
args(index = 3).setFalse()
invokeOriginal [method]
fun <T> Member.invokeOriginal(vararg args: Any?): Any?
变更记录
v1.0 添加
功能描述
执行原始
Member。
功能实例
此方法可以 invoke 原始未经 Hook 的 Member 对象,取决于原始 Member 的参数和类型。
示例如下
member.invokeOriginal("test value")
resultTrue [method]
fun resultTrue()
变更记录
v1.0 添加
功能描述
设置当前 Hook 对象方法的
result返回值为true。
!> 请确保 result 类型为 Boolean。
resultFalse [method]
fun resultFalse()
变更记录
v1.0 添加
功能描述
设置当前 Hook 对象方法的
result返回值为false。
!> 请确保 result 类型为 Boolean。
resultNull [method]
fun resultNull()
变更记录
v1.0 添加
功能描述
!> 此方法将强制设置 Hook 对象方法的 result 为 null。
ArgsModifyer [class]
inner class ArgsModifyer(private val index: Int)
变更记录
v1.0 添加
功能描述
对方法参数的修改进行实例化类。
cast [method]
fun <T> cast(): T?
变更记录
v1.0.66 新增
v1.0.68 修改
修改 为 ofcast
功能描述
得到方法参数的实例对象
T。
byte [method]
fun byte(): Byte?
变更记录
v1.0.68 新增
功能描述
得到方法参数的实例对象 Byte。
int [method]
fun int(): Int
变更记录
v1.0.66 新增
v1.0.68 修改
修改 为 ofIntint
功能描述
得到方法参数的实例对象 Int。
long [method]
fun long(): Long
变更记录
v1.0.66 新增
v1.0.68 修改
修改 为 ofLonglong
功能描述
得到方法参数的实例对象 Long。
short [method]
fun short(): Short
变更记录
v1.0.66 新增
v1.0.68 修改
修改 为 ofShortshort
功能描述
得到方法参数的实例对象 Short。
double [method]
fun double(): Double
变更记录
v1.0.66 新增
v1.0.68 修改
修改 为 ofDoubledouble
功能描述
得到方法参数的实例对象 Double。
float [method]
fun float(): Float
变更记录
v1.0.66 新增
v1.0.68 修改
修改 为 ofFloatfloat
功能描述
得到方法参数的实例对象 Float。
string [method]
fun string(): String
变更记录
v1.0.66 新增
v1.0.68 修改
修改 为 ofStringstring
功能描述
得到方法参数的实例对象 String。
char [method]
fun char(): Char
变更记录
v1.0.68 新增
功能描述
得到方法参数的实例对象 Char。
boolean [method]
fun boolean(): Boolean
变更记录
v1.0.66 新增
v1.0.68 修改
修改 为 ofBooleanboolean
功能描述
得到方法参数的实例对象 Boolean。
array [method]
inline fun <reified T> array(): Array<T>
变更记录
v1.0.68 新增
功能描述
得到方法参数的实例对象 Array。
list [method]
inline fun <reified T> list(): List<T>
变更记录
v1.0.68 新增
功能描述
得到方法参数的实例对象 List。
set [method]
fun <T> set(any: T?)
变更记录
v1.0 添加
功能描述
设置方法参数的实例对象。
setNull [method]
fun setNull()
变更记录
v1.0 添加
功能描述
设置方法参数的实例对象为
null。
setTrue [method]
fun setTrue()
变更记录
v1.0 添加
功能描述
设置方法参数的实例对象为
true。
!> 请确保目标对象的类型是 Boolean。
setFalse [method]
fun setFalse()
变更记录
v1.0 添加
功能描述
设置方法参数的实例对象为
false。
!> 请确保目标对象的类型是 Boolean。