mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-06 18:55:35 +08:00
Fix YukiHookModuleStatus not found error and added some type in android
This commit is contained in:
@@ -219,13 +219,11 @@ loadZygote {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
这样就实现了上述的 Hook 功能。
|
|
||||||
|
|
||||||
### Hook 系统框架
|
### Hook 系统框架
|
||||||
|
|
||||||
在 `YukiHookAPI` 中,Hook 系统框架的实现非常简单。
|
在 `YukiHookAPI` 中,Hook 系统框架的实现非常简单。
|
||||||
|
|
||||||
假设我们要全局 Hook 一个系统 `Activity` 的 `onCreate` 事件
|
假设,你要得到 `ApplicationInfo` 与 `PackageInfo` 并对它们进行一些操作。
|
||||||
|
|
||||||
在 `encase` 方法体中添加代码。
|
在 `encase` 方法体中添加代码。
|
||||||
|
|
||||||
@@ -233,17 +231,11 @@ loadZygote {
|
|||||||
|
|
||||||
```kotlin
|
```kotlin
|
||||||
loadSystem {
|
loadSystem {
|
||||||
ActivityClass.hook {
|
ApplicationInfoClass.hook {
|
||||||
injectMember {
|
|
||||||
method {
|
|
||||||
name = "onCreate"
|
|
||||||
param(BundleClass)
|
|
||||||
returnType = UnitType
|
|
||||||
}
|
|
||||||
afterHook {
|
|
||||||
// Your code here.
|
// Your code here.
|
||||||
}
|
}
|
||||||
}
|
PackageInfoClass.hook {
|
||||||
|
// Your code here.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@@ -184,7 +184,8 @@ object CodeSourceFileTemplate {
|
|||||||
" YukiHookBridge.callXposedLoaded(isZygoteLoaded, lpparam, resparam)\n" +
|
" YukiHookBridge.callXposedLoaded(isZygoteLoaded, lpparam, resparam)\n" +
|
||||||
" }\n" +
|
" }\n" +
|
||||||
"\n" +
|
"\n" +
|
||||||
" private fun hookModuleAppStatus(lpparam: XC_LoadPackage.LoadPackageParam? = this.lpparam, isHookResourcesStatus: Boolean = false) {\n" +
|
" private fun hookModuleAppStatus(lpparam: XC_LoadPackage.LoadPackageParam? = this.lpparam, isHookResourcesStatus: Boolean = false) =\n" +
|
||||||
|
" runCatching {\n" +
|
||||||
" lpparam?.let { this.lpparam = it }\n" +
|
" lpparam?.let { this.lpparam = it }\n" +
|
||||||
" if (isHookResourcesStatus.not()) {\n" +
|
" if (isHookResourcesStatus.not()) {\n" +
|
||||||
" XposedHelpers.findAndHookMethod(\n" +
|
" XposedHelpers.findAndHookMethod(\n" +
|
||||||
|
@@ -91,6 +91,18 @@ val ContextWrapperClass get() = ContextWrapper::class.java
|
|||||||
*/
|
*/
|
||||||
val ApplicationClass get() = Application::class.java
|
val ApplicationClass get() = Application::class.java
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得 [ApplicationInfo] 类型
|
||||||
|
* @return [Class]
|
||||||
|
*/
|
||||||
|
val ApplicationInfoClass get() = ApplicationInfo::class.java
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得 [PackageInfo] 类型
|
||||||
|
* @return [Class]
|
||||||
|
*/
|
||||||
|
val PackageInfoClass get() = PackageInfo::class.java
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得 [ApplicationPackageManager] 类型
|
* 获得 [ApplicationPackageManager] 类型
|
||||||
* @return [Class]
|
* @return [Class]
|
||||||
|
Reference in New Issue
Block a user