mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-04 17:55:24 +08:00
...
This commit is contained in:
@@ -61,7 +61,7 @@ object YukiHookAPI {
|
||||
/**
|
||||
* 预设的 Xposed 模块包名
|
||||
*
|
||||
* - ⚡请勿手动修改 - 会引发未知异常
|
||||
* - ❗请勿手动修改 - 会引发未知异常
|
||||
*/
|
||||
@DoNotUseField
|
||||
var modulePackageName = ""
|
||||
@@ -102,7 +102,7 @@ object YukiHookAPI {
|
||||
/**
|
||||
* 装载 Xposed API 回调
|
||||
*
|
||||
* - ⚡装载代码将自动生成 - 你不应该手动使用此方法装载 Xposed 模块事件
|
||||
* - ❗装载代码将自动生成 - 你不应该手动使用此方法装载 Xposed 模块事件
|
||||
* @param lpparam Xposed [XC_LoadPackage.LoadPackageParam]
|
||||
*/
|
||||
@DoNotUseMethod
|
||||
|
@@ -45,7 +45,7 @@ package com.highcapable.yukihookapi.annotation
|
||||
)
|
||||
@Retention(AnnotationRetention.BINARY)
|
||||
/**
|
||||
* -️ ⚡警告方法外部调用声明
|
||||
* -️ ❗警告方法外部调用声明
|
||||
* 此方法除继承和接口外不应该在这里被调用
|
||||
* 如果调用此方法可能会出现错误或 APP 发生异常
|
||||
*/
|
||||
|
@@ -45,7 +45,7 @@ package com.highcapable.yukihookapi.annotation
|
||||
)
|
||||
@Retention(AnnotationRetention.BINARY)
|
||||
/**
|
||||
* - ⚡警告方法外部调用声明
|
||||
* - ❗警告方法外部调用声明
|
||||
* 此方法除继承和接口外不应该在这里被调用
|
||||
* 如果调用此方法可能会出现错误或 APP 发生异常
|
||||
*/
|
||||
|
@@ -52,11 +52,11 @@ import com.highcapable.yukihookapi.hook.xposed.proxy.YukiHookXposedInitProxy
|
||||
*
|
||||
* - 为了防止模块包名无法正常被识别 - 自定义 [modulePackageName] 会在编译时产生警告
|
||||
*
|
||||
* - ⚡最后这一点很重要:请不要随意修改项目 ../[sourcePath]/assets/xposed_init 中的内容 - 否则可能会导致模块无法装载
|
||||
* - ❗最后这一点很重要:请不要随意修改项目 ../[sourcePath]/assets/xposed_init 中的内容 - 否则可能会导致模块无法装载
|
||||
*
|
||||
* - ⚡你必须将被注释的类继承于 [YukiHookXposedInitProxy] 接口实现 [YukiHookXposedInitProxy.onHook] 方法 - 否则编译会报错
|
||||
* - ❗你必须将被注释的类继承于 [YukiHookXposedInitProxy] 接口实现 [YukiHookXposedInitProxy.onHook] 方法 - 否则编译会报错
|
||||
*
|
||||
* - ⚡只能拥有一个 Hook 入口 - 若存在多个注释编译会报错
|
||||
* - ❗只能拥有一个 Hook 入口 - 若存在多个注释编译会报错
|
||||
*
|
||||
* 详情请参考 [YukiHookAPI Wiki](https://github.com/fankes/YukiHookAPI/wiki)
|
||||
* @param sourcePath 你的项目 source 相对路径 - 默认为 ..src/main..
|
||||
|
@@ -74,7 +74,7 @@ class YukiHookCreater(private val packageParam: PackageParam, val hookClass: Cla
|
||||
/**
|
||||
* Hook 执行入口
|
||||
*
|
||||
* - ⚡此功能交由方法体自动完成 - 你不应该手动调用此方法
|
||||
* - ❗此功能交由方法体自动完成 - 你不应该手动调用此方法
|
||||
* @throws IllegalStateException 如果必要参数没有被设置
|
||||
*/
|
||||
@DoNotUseMethod
|
||||
@@ -132,9 +132,9 @@ class YukiHookCreater(private val packageParam: PackageParam, val hookClass: Cla
|
||||
/**
|
||||
* Hook [hookClass] 中指定 [name] 的全部方法
|
||||
*
|
||||
* - ⚡警告:无法准确处理每个方法的返回值和 param - 建议使用 [method] 对每个方法单独 Hook
|
||||
* - ❗警告:无法准确处理每个方法的返回值和 param - 建议使用 [method] 对每个方法单独 Hook
|
||||
*
|
||||
* - ⚡如果 [hookClass] 中没有方法可能会发生错误
|
||||
* - ❗如果 [hookClass] 中没有方法可能会发生错误
|
||||
* @param name 方法名称
|
||||
*/
|
||||
fun allMethods(name: String) {
|
||||
@@ -146,9 +146,9 @@ class YukiHookCreater(private val packageParam: PackageParam, val hookClass: Cla
|
||||
/**
|
||||
* Hook [hookClass] 中的全部构造方法
|
||||
*
|
||||
* - ⚡警告:无法准确处理每个构造方法的 param - 建议使用 [constructor] 对每个构造方法单独 Hook
|
||||
* - ❗警告:无法准确处理每个构造方法的 param - 建议使用 [constructor] 对每个构造方法单独 Hook
|
||||
*
|
||||
* - ⚡如果 [hookClass] 中没有构造方法可能会发生错误
|
||||
* - ❗如果 [hookClass] 中没有构造方法可能会发生错误
|
||||
*/
|
||||
fun allConstructors() {
|
||||
allMethodsName = "<init>"
|
||||
@@ -284,7 +284,7 @@ class YukiHookCreater(private val packageParam: PackageParam, val hookClass: Cla
|
||||
/**
|
||||
* Hook 创建入口
|
||||
*
|
||||
* - ⚡此功能交由方法体自动完成 - 你不应该手动调用此方法
|
||||
* - ❗此功能交由方法体自动完成 - 你不应该手动调用此方法
|
||||
* @return [Result]
|
||||
*/
|
||||
@DoNotUseMethod
|
||||
@@ -293,7 +293,7 @@ class YukiHookCreater(private val packageParam: PackageParam, val hookClass: Cla
|
||||
/**
|
||||
* Hook 执行入口
|
||||
*
|
||||
* - ⚡此功能交由方法体自动完成 - 你不应该手动调用此方法
|
||||
* - ❗此功能交由方法体自动完成 - 你不应该手动调用此方法
|
||||
*/
|
||||
@DoNotUseMethod
|
||||
fun hook() {
|
||||
|
@@ -52,9 +52,9 @@ class ConstructorFinder(private val hookInstance: YukiHookCreater.MemberHookCrea
|
||||
/**
|
||||
* [Constructor] 参数
|
||||
*
|
||||
* - ⚡无参 [Constructor] 不要使用此方法
|
||||
* - ❗无参 [Constructor] 不要使用此方法
|
||||
*
|
||||
* - ⚡有参 [Constructor] 必须使用此方法设定参数
|
||||
* - ❗有参 [Constructor] 必须使用此方法设定参数
|
||||
* @param param 参数数组
|
||||
*/
|
||||
fun param(vararg param: Class<*>) {
|
||||
@@ -75,7 +75,7 @@ class ConstructorFinder(private val hookInstance: YukiHookCreater.MemberHookCrea
|
||||
/**
|
||||
* 得到构造方法结果
|
||||
*
|
||||
* - ⚡此功能交由方法体自动完成 - 你不应该手动调用此方法
|
||||
* - ❗此功能交由方法体自动完成 - 你不应该手动调用此方法
|
||||
* @return [Result]
|
||||
*/
|
||||
@DoNotUseMethod
|
||||
@@ -123,7 +123,7 @@ class ConstructorFinder(private val hookInstance: YukiHookCreater.MemberHookCrea
|
||||
/**
|
||||
* 开始重查找
|
||||
*
|
||||
* - ⚡此功能交由方法体自动完成 - 你不应该手动调用此方法
|
||||
* - ❗此功能交由方法体自动完成 - 你不应该手动调用此方法
|
||||
*/
|
||||
@DoNotUseMethod
|
||||
internal fun build() {
|
||||
|
@@ -51,21 +51,21 @@ class FieldFinder(private val hookInstance: YukiHookCreater.MemberHookCreater, p
|
||||
/**
|
||||
* [Field] 名称
|
||||
*
|
||||
* - ⚡必须设置
|
||||
* - ❗必须设置
|
||||
*/
|
||||
var name = ""
|
||||
|
||||
/**
|
||||
* [Field] 类型
|
||||
*
|
||||
* - ⚡必须设置
|
||||
* - ❗必须设置
|
||||
*/
|
||||
var type: Class<*>? = null
|
||||
|
||||
/**
|
||||
* 得到变量处理结果
|
||||
*
|
||||
* - ⚡此功能交由方法体自动完成 - 你不应该手动调用此方法
|
||||
* - ❗此功能交由方法体自动完成 - 你不应该手动调用此方法
|
||||
* @return [Result]
|
||||
* @throws IllegalStateException 如果 [name] 没有被设置
|
||||
*/
|
||||
|
@@ -52,7 +52,7 @@ class MethodFinder(private val hookInstance: YukiHookCreater.MemberHookCreater,
|
||||
/**
|
||||
* [Method] 名称
|
||||
*
|
||||
* - ⚡必须设置
|
||||
* - ❗必须设置
|
||||
*/
|
||||
var name = ""
|
||||
|
||||
@@ -66,9 +66,9 @@ class MethodFinder(private val hookInstance: YukiHookCreater.MemberHookCreater,
|
||||
/**
|
||||
* [Method] 参数
|
||||
*
|
||||
* - ⚡无参 [Method] 不要使用此方法
|
||||
* - ❗无参 [Method] 不要使用此方法
|
||||
*
|
||||
* - ⚡有参 [Method] 必须使用此方法设定参数
|
||||
* - ❗有参 [Method] 必须使用此方法设定参数
|
||||
* @param param 参数数组
|
||||
*/
|
||||
fun param(vararg param: Class<*>) {
|
||||
@@ -90,7 +90,7 @@ class MethodFinder(private val hookInstance: YukiHookCreater.MemberHookCreater,
|
||||
/**
|
||||
* 得到方法结果
|
||||
*
|
||||
* - ⚡此功能交由方法体自动完成 - 你不应该手动调用此方法
|
||||
* - ❗此功能交由方法体自动完成 - 你不应该手动调用此方法
|
||||
* @return [Result]
|
||||
*/
|
||||
@DoNotUseMethod
|
||||
@@ -141,7 +141,7 @@ class MethodFinder(private val hookInstance: YukiHookCreater.MemberHookCreater,
|
||||
/**
|
||||
* 开始重查找
|
||||
*
|
||||
* - ⚡此功能交由方法体自动完成 - 你不应该手动调用此方法
|
||||
* - ❗此功能交由方法体自动完成 - 你不应该手动调用此方法
|
||||
*/
|
||||
@DoNotUseMethod
|
||||
internal fun build() {
|
||||
|
@@ -73,7 +73,7 @@ abstract class YukiBaseHooker : PackageParam() {
|
||||
/**
|
||||
* 赋值并克隆一个 [PackageParam]
|
||||
*
|
||||
* - ⚡此方法为私有功能性 API - 你不应该手动调用此方法
|
||||
* - ❗此方法为私有功能性 API - 你不应该手动调用此方法
|
||||
* @param packageParam 需要使用的 [PackageParam]
|
||||
*/
|
||||
@DoNotUseMethod
|
||||
|
@@ -86,7 +86,7 @@ open class PackageParam(private var baseParam: PackageParamWrapper? = null) {
|
||||
/**
|
||||
* 赋值并克隆另一个 [PackageParam]
|
||||
*
|
||||
* - ⚡此方法为私有功能性 API - 你不应该手动调用此方法
|
||||
* - ❗此方法为私有功能性 API - 你不应该手动调用此方法
|
||||
* @param another 另一个 [PackageParam]
|
||||
*/
|
||||
@DoNotUseMethod
|
||||
@@ -114,7 +114,7 @@ open class PackageParam(private var baseParam: PackageParamWrapper? = null) {
|
||||
/**
|
||||
* 将目标 [Class] 绑定到 [appClassLoader]
|
||||
*
|
||||
* - ⚡请注意未绑定到 [appClassLoader] 的 [Class] 不能被装载 - 调用 [hook] 方法会自动绑定
|
||||
* - ❗请注意未绑定到 [appClassLoader] 的 [Class] 不能被装载 - 调用 [hook] 方法会自动绑定
|
||||
* @return [Class]
|
||||
* @throws NoClassDefFoundError 如果找不到类会报错
|
||||
*/
|
||||
|
@@ -53,7 +53,7 @@ import java.io.File
|
||||
*
|
||||
* - 未使用 LSposed 环境请将你的模块 API 降至 26 以下 - YukiHookAPI 将会尝试使用 [makeWorldReadable] 但仍有可能不成功
|
||||
*
|
||||
* - ⚡当你在模块中存取数据的时候 [context] 必须不能是空的
|
||||
* - ❗当你在模块中存取数据的时候 [context] 必须不能是空的
|
||||
* @param context 上下文实例 - 默认空
|
||||
*/
|
||||
class YukiHookModulePrefs(private val context: Context? = null) {
|
||||
@@ -222,7 +222,7 @@ class YukiHookModulePrefs(private val context: Context? = null) {
|
||||
*
|
||||
* - 在模块 [Context] 环境中使用
|
||||
*
|
||||
* - ⚡在 [XSharedPreferences] 环境下只读 - 无法使用
|
||||
* - ❗在 [XSharedPreferences] 环境下只读 - 无法使用
|
||||
* @param key 键值名称
|
||||
*/
|
||||
fun remove(key: String) {
|
||||
@@ -236,7 +236,7 @@ class YukiHookModulePrefs(private val context: Context? = null) {
|
||||
*
|
||||
* - 在模块 [Context] 环境中使用
|
||||
*
|
||||
* - ⚡在 [XSharedPreferences] 环境下只读 - 无法使用
|
||||
* - ❗在 [XSharedPreferences] 环境下只读 - 无法使用
|
||||
* @param key 键值名称
|
||||
* @param value 键值数据
|
||||
*/
|
||||
@@ -251,7 +251,7 @@ class YukiHookModulePrefs(private val context: Context? = null) {
|
||||
*
|
||||
* - 在模块 [Context] 环境中使用
|
||||
*
|
||||
* - ⚡在 [XSharedPreferences] 环境下只读 - 无法使用
|
||||
* - ❗在 [XSharedPreferences] 环境下只读 - 无法使用
|
||||
* @param key 键值名称
|
||||
* @param value 键值数据
|
||||
*/
|
||||
@@ -266,7 +266,7 @@ class YukiHookModulePrefs(private val context: Context? = null) {
|
||||
*
|
||||
* - 在模块 [Context] 环境中使用
|
||||
*
|
||||
* - ⚡在 [XSharedPreferences] 环境下只读 - 无法使用
|
||||
* - ❗在 [XSharedPreferences] 环境下只读 - 无法使用
|
||||
* @param key 键值名称
|
||||
* @param value 键值数据
|
||||
*/
|
||||
@@ -281,7 +281,7 @@ class YukiHookModulePrefs(private val context: Context? = null) {
|
||||
*
|
||||
* - 在模块 [Context] 环境中使用
|
||||
*
|
||||
* - ⚡在 [XSharedPreferences] 环境下只读 - 无法使用
|
||||
* - ❗在 [XSharedPreferences] 环境下只读 - 无法使用
|
||||
* @param key 键值名称
|
||||
* @param value 键值数据
|
||||
*/
|
||||
@@ -296,7 +296,7 @@ class YukiHookModulePrefs(private val context: Context? = null) {
|
||||
*
|
||||
* - 在模块 [Context] 环境中使用
|
||||
*
|
||||
* - ⚡在 [XSharedPreferences] 环境下只读 - 无法使用
|
||||
* - ❗在 [XSharedPreferences] 环境下只读 - 无法使用
|
||||
* @param key 键值名称
|
||||
* @param value 键值数据
|
||||
*/
|
||||
|
@@ -36,7 +36,7 @@ import com.highcapable.yukihookapi.hook.factory.encase
|
||||
/**
|
||||
* YukiHookAPI 的 Xposed 装载 API 调用接口
|
||||
*
|
||||
* - ⚡请在此类上添加注释 [InjectYukiHookWithXposed] 标记模块 Hook 入口
|
||||
* - ❗请在此类上添加注释 [InjectYukiHookWithXposed] 标记模块 Hook 入口
|
||||
*
|
||||
* Hook 开始时将自动调用 [onHook] 方法
|
||||
*
|
||||
|
Reference in New Issue
Block a user