9.0 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]
变更记录
v1.0
添加
v1.0.75
移除
请使用 args(index = 0)
或 args().first()
lastArgs [field]
变更记录
v1.0
添加
v1.0.75
移除
请使用 args().last()
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
的返回值。
result [method]
inline fun <reified T> result(): T?
变更记录
v1.0.75
新增
功能描述
获取当前 Hook 对象的
method
或constructor
的返回值T
。
firstArgs [method]
变更记录
v1.0.66
新增
v1.0.75
移除
lastArgs [method]
变更记录
v1.0.66
新增
v1.0.75
移除
instance [method]
inline fun <reified T> instance(): T
变更记录
v1.0
添加
功能描述
获取当前 Hook 实例的对象
T
。
功能示例
你可以通过 instance
方法轻松使用泛型 cast
为目标对象的类型。
示例如下
instance<Activity>().finish()
args [method]
fun args(): ArgsIndexCondition
变更记录
v1.0.75
新增
功能描述
获取当前 Hook 对象的
method
orconstructor
的参数数组下标实例化类。
args [method]
fun args(index: Int): ArgsModifyer
变更记录
v1.0
添加
v1.0.75
修改
默认值 index = 0
移动到新的使用方法 args().first()
功能描述
获取当前 Hook 对象的
method
或constructor
的参数实例化对象类。
功能示例
你可以通过 args
方法修改当前 Hook 实例的方法、构造方法的参数内容。
你可以直接使用 set
方法设置 param
为你的目标实例,接受 Any
类型。
!> 请确保 param
类型为你的目标实例类型。
示例如下
args(index = 0).set("modify the value")
你可以这样直接设置第一位 param
的值。
示例如下
args().first().set("modify the value")
你还可以直接设置最后一位 param
的值。
示例如下
args().last().set("modify the value")
你还可以使用 setNull
方法设置 param
为空。
示例如下
args(index = 1).setNull()
你还可以使用 setTrue
方法设置 param
为 true
。
!> 请确保 param
类型为 Boolean
。
示例如下
args(index = 1).setTrue()
你还可以使用 setFalse
方法设置 param
为 false
。
!> 请确保 param
类型为 Boolean
。
示例如下
args(index = 1).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
。
ArgsIndexCondition [class]
inner class ArgsIndexCondition
变更记录
v1.0.75
新增
功能描述
对方法参数的数组下标进行实例化类。
first [method]
fun first(): ArgsModifyer
变更记录
v1.0.75
新增
功能描述
获取当前 Hook 对象的
method
orconstructor
的参数数组第一位。
last [method]
fun last(): ArgsModifyer
变更记录
v1.0.75
新增
功能描述
获取当前 Hook 对象的
method
orconstructor
的参数数组最后一位。
ArgsModifyer [class]
inner class ArgsModifyer(private val index: Int)
变更记录
v1.0
添加
功能描述
对方法参数的修改进行实例化类。
cast [method]
fun <T> cast(): T?
变更记录
v1.0.66
新增
v1.0.68
修改
修改 为 of
cast
功能描述
得到方法参数的实例对象
T
。
byte [method]
fun byte(): Byte?
变更记录
v1.0.68
新增
功能描述
得到方法参数的实例对象 Byte。
int [method]
fun int(): Int
变更记录
v1.0.66
新增
v1.0.68
修改
修改 为 ofInt
int
功能描述
得到方法参数的实例对象 Int。
long [method]
fun long(): Long
变更记录
v1.0.66
新增
v1.0.68
修改
修改 为 ofLong
long
功能描述
得到方法参数的实例对象 Long。
short [method]
fun short(): Short
变更记录
v1.0.66
新增
v1.0.68
修改
修改 为 ofShort
short
功能描述
得到方法参数的实例对象 Short。
double [method]
fun double(): Double
变更记录
v1.0.66
新增
v1.0.68
修改
修改 为 ofDouble
double
功能描述
得到方法参数的实例对象 Double。
float [method]
fun float(): Float
变更记录
v1.0.66
新增
v1.0.68
修改
修改 为 ofFloat
float
功能描述
得到方法参数的实例对象 Float。
string [method]
fun string(): String
变更记录
v1.0.66
新增
v1.0.68
修改
修改 为 ofString
string
功能描述
得到方法参数的实例对象 String。
char [method]
fun char(): Char
变更记录
v1.0.68
新增
功能描述
得到方法参数的实例对象 Char。
boolean [method]
fun boolean(): Boolean
变更记录
v1.0.66
新增
v1.0.68
修改
修改 为 ofBoolean
boolean
功能描述
得到方法参数的实例对象 Boolean。
any [method]
fun any(): Any?
变更记录
v1.0.76
新增
功能描述
得到方法参数的实例对象 Any。
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
。