mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-04 01:35:17 +08:00
...
This commit is contained in:
@@ -36,13 +36,13 @@ import com.highcapable.yukihookapi.demo.InjectTest
|
|||||||
import com.highcapable.yukihookapi.demo.MainActivity
|
import com.highcapable.yukihookapi.demo.MainActivity
|
||||||
import com.highcapable.yukihookapi.hook.factory.encase
|
import com.highcapable.yukihookapi.hook.factory.encase
|
||||||
import com.highcapable.yukihookapi.hook.factory.findMethod
|
import com.highcapable.yukihookapi.hook.factory.findMethod
|
||||||
import com.highcapable.yukihookapi.hook.proxy.YukiHookInitializeProxy
|
import com.highcapable.yukihookapi.hook.proxy.YukiHookXposedInitProxy
|
||||||
import com.highcapable.yukihookapi.hook.type.ActivityClass
|
import com.highcapable.yukihookapi.hook.type.ActivityClass
|
||||||
import com.highcapable.yukihookapi.hook.type.BundleClass
|
import com.highcapable.yukihookapi.hook.type.BundleClass
|
||||||
import com.highcapable.yukihookapi.hook.type.StringType
|
import com.highcapable.yukihookapi.hook.type.StringType
|
||||||
|
|
||||||
@InjectYukiHookWithXposed
|
@InjectYukiHookWithXposed
|
||||||
class HookMain : YukiHookInitializeProxy {
|
class HookMain : YukiHookXposedInitProxy {
|
||||||
|
|
||||||
private val moduleName = "com.highcapable.yukihookapi.demo"
|
private val moduleName = "com.highcapable.yukihookapi.demo"
|
||||||
|
|
||||||
|
@@ -28,7 +28,7 @@
|
|||||||
package com.highcapable.yukihookapi.annotation.xposed
|
package com.highcapable.yukihookapi.annotation.xposed
|
||||||
|
|
||||||
import androidx.annotation.Keep
|
import androidx.annotation.Keep
|
||||||
import com.highcapable.yukihookapi.hook.proxy.YukiHookInitializeProxy
|
import com.highcapable.yukihookapi.hook.proxy.YukiHookXposedInitProxy
|
||||||
import com.highcapable.yukihookapi.hook.xposed.YukiHookLoadPackage
|
import com.highcapable.yukihookapi.hook.xposed.YukiHookLoadPackage
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -36,7 +36,7 @@ import com.highcapable.yukihookapi.hook.xposed.YukiHookLoadPackage
|
|||||||
*
|
*
|
||||||
* 此类将使用 [YukiHookLoadPackage] 自动调用 XposedInit
|
* 此类将使用 [YukiHookLoadPackage] 自动调用 XposedInit
|
||||||
*
|
*
|
||||||
* 你可以将被注释的类继承于 [YukiHookInitializeProxy] 接口实现 [YukiHookInitializeProxy.onHook] 方法
|
* 你可以将被注释的类继承于 [YukiHookXposedInitProxy] 接口实现 [YukiHookXposedInitProxy.onHook] 方法
|
||||||
*
|
*
|
||||||
* 只能拥有一个 Hook 入口 - 多个入口将以首个得到的入口为准
|
* 只能拥有一个 Hook 入口 - 多个入口将以首个得到的入口为准
|
||||||
*/
|
*/
|
||||||
|
@@ -34,15 +34,15 @@ import android.content.Intent
|
|||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import com.highcapable.yukihookapi.YukiHookAPI
|
import com.highcapable.yukihookapi.YukiHookAPI
|
||||||
import com.highcapable.yukihookapi.hook.proxy.YukiHookInitializeProxy
|
import com.highcapable.yukihookapi.hook.proxy.YukiHookXposedInitProxy
|
||||||
import com.highcapable.yukihookapi.param.PackageParam
|
import com.highcapable.yukihookapi.param.PackageParam
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 在 [YukiHookInitializeProxy] 中装载 [YukiHookAPI]
|
* 在 [YukiHookXposedInitProxy] 中装载 [YukiHookAPI]
|
||||||
* @param moduleName 模块包名 - 不填将无法实现监听模块激活状态
|
* @param moduleName 模块包名 - 不填将无法实现监听模块激活状态
|
||||||
* @param initiate Hook 方法体
|
* @param initiate Hook 方法体
|
||||||
*/
|
*/
|
||||||
fun YukiHookInitializeProxy.encase(moduleName: String = "", initiate: PackageParam.() -> Unit) =
|
fun YukiHookXposedInitProxy.encase(moduleName: String = "", initiate: PackageParam.() -> Unit) =
|
||||||
YukiHookAPI.encase(moduleName, initiate)
|
YukiHookAPI.encase(moduleName, initiate)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -59,7 +59,7 @@ import com.highcapable.yukihookapi.hook.factory.encase
|
|||||||
* 详情请参考 https://github.com/fankes/YukiHookAPI/wiki
|
* 详情请参考 https://github.com/fankes/YukiHookAPI/wiki
|
||||||
*/
|
*/
|
||||||
@Keep
|
@Keep
|
||||||
interface YukiHookInitializeProxy {
|
interface YukiHookXposedInitProxy {
|
||||||
|
|
||||||
/** 模块装载调用入口方法 - Xposed API */
|
/** 模块装载调用入口方法 - Xposed API */
|
||||||
@Keep
|
@Keep
|
@@ -33,7 +33,7 @@ import android.util.Log
|
|||||||
import androidx.annotation.Keep
|
import androidx.annotation.Keep
|
||||||
import com.highcapable.yukihookapi.YukiHookAPI
|
import com.highcapable.yukihookapi.YukiHookAPI
|
||||||
import com.highcapable.yukihookapi.annotation.xposed.InjectYukiHookWithXposed
|
import com.highcapable.yukihookapi.annotation.xposed.InjectYukiHookWithXposed
|
||||||
import com.highcapable.yukihookapi.hook.proxy.YukiHookInitializeProxy
|
import com.highcapable.yukihookapi.hook.proxy.YukiHookXposedInitProxy
|
||||||
import com.highcapable.yukihookapi.hook.type.BooleanType
|
import com.highcapable.yukihookapi.hook.type.BooleanType
|
||||||
import com.highcapable.yukihookapi.param.PackageParam
|
import com.highcapable.yukihookapi.param.PackageParam
|
||||||
import de.robv.android.xposed.IXposedHookLoadPackage
|
import de.robv.android.xposed.IXposedHookLoadPackage
|
||||||
@@ -42,7 +42,7 @@ import de.robv.android.xposed.callbacks.XC_LoadPackage
|
|||||||
/**
|
/**
|
||||||
* 接管 Xposed 的 [IXposedHookLoadPackage] 入口
|
* 接管 Xposed 的 [IXposedHookLoadPackage] 入口
|
||||||
*
|
*
|
||||||
* 你可以使用 [YukiHookAPI.encase] 或在 [YukiHookInitializeProxy] 中监听模块开始装载
|
* 你可以使用 [YukiHookAPI.encase] 或在 [YukiHookXposedInitProxy] 中监听模块开始装载
|
||||||
*
|
*
|
||||||
* 需要标识 Hook 入口的类 - 请声明注释 [InjectYukiHookWithXposed]
|
* 需要标识 Hook 入口的类 - 请声明注释 [InjectYukiHookWithXposed]
|
||||||
*/
|
*/
|
||||||
|
@@ -106,7 +106,7 @@ class HookParam(private val baseParam: XC_MethodHook.MethodHookParam) {
|
|||||||
/**
|
/**
|
||||||
* 获取当前 [method] or [constructor] 的参数实例化对象类
|
* 获取当前 [method] or [constructor] 的参数实例化对象类
|
||||||
* @param index 参数对象数组下标 - 默认是 0
|
* @param index 参数对象数组下标 - 默认是 0
|
||||||
* @return [Array]
|
* @return [ArgsModifyer]
|
||||||
*/
|
*/
|
||||||
fun args(index: Int = 0) = ArgsModifyer(index)
|
fun args(index: Int = 0) = ArgsModifyer(index)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user