diff --git a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.md b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.md
index 96cabbdf..68c8336f 100644
--- a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.md
+++ b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.md
@@ -38,7 +38,7 @@ class YukiMemberHookCreator internal constructor(private val packageParam: Packa
PRIORITY_DEFAULT - field
-**变更记录**
+**Change Records**
`v1.0.80` `added`
@@ -48,7 +48,7 @@ class YukiMemberHookCreator internal constructor(private val packageParam: Packa
PRIORITY_LOWEST - field
-**变更记录**
+**Change Records**
`v1.0.80` `added`
@@ -58,7 +58,7 @@ class YukiMemberHookCreator internal constructor(private val packageParam: Packa
PRIORITY_HIGHEST - field
-**变更记录**
+**Change Records**
`v1.0.80` `added`
@@ -66,11 +66,7 @@ class YukiMemberHookCreator internal constructor(private val packageParam: Packa
请迁移到 `YukiHookPriority`
-## instanceClass - field
-
-```kotlin:no-line-numbers
-val instanceClass: Class<*>
-```
+instanceClass - field
**Change Records**
@@ -80,15 +76,9 @@ val instanceClass: Class<*>
~~`thisClass`~~ 更名为 `instanceClass`
-**Function Illustrate**
+`v1.2.0` `deprecated`
-> 得到当前被 Hook 的 `Class`。
-
-::: danger
-
-不推荐直接使用,万一得不到 **Class** 对象则会无法处理异常导致崩溃。
-
-:::
+不再推荐使用
injectMember - method
@@ -109,7 +99,7 @@ val instanceClass: Class<*>
## injectMember - method
```kotlin:no-line-numbers
-inline fun injectMember(priority: YukiHookPriority, initiate: MemberHookCreator.() -> Unit): MemberHookCreator.Result
+inline fun injectMember(priority: YukiHookPriority, initiate: MemberHookCreator.LegacyCreator.() -> Unit): MemberHookCreator.Result
```
**Change Records**
@@ -120,31 +110,15 @@ inline fun injectMember(priority: YukiHookPriority, initiate: MemberHookCreator.
> 注入要 Hook 的 `Method`、`Constructor`。
-## useDangerousOperation - method
-
-```kotlin:no-line-numbers
-fun useDangerousOperation(option: String)
-```
+useDangerousOperation - method
**Change Records**
`v1.1.0` `added`
-**Function Illustrate**
+`v1.2.0` `deprecated`
-> 允许 Hook 过程中的所有危险行为。
-
-请在 `option` 中键入 `Yes do as I say!` 代表你同意允许所有危险行为。
-
-你还需要在整个调用域中声明注解 `DangerousHookOperation` 以消除警告。
-
-若你只需要 Hook `ClassLoader` 的 `loadClass` 方法,请参考 [ClassLoader.onLoadClass](../factory/ReflectionFactory#classloader-onloadclass-ext-method)。
-
-::: danger
-
-若你不知道允许此功能会带来何种后果,请勿使用。
-
-:::
+此功能已被弃用
## MemberHookCreator - class
@@ -182,158 +156,6 @@ inner class MemberHookCreator internal constructor(private val priority: YukiHoo
> Hook 核心功能实现类,查找和处理需要 Hook 的 `Method`、`Constructor`。
-member - field
-
-**Change Records**
-
-`v1.0` `first`
-
-`v1.1.0` `removed`
-
-请迁移到 `members`
-
-### members - method
-
-```kotlin:no-line-numbers
-fun members(vararg member: Member?)
-```
-
-**Change Records**
-
-`v1.1.0` `added`
-
-**Function Illustrate**
-
-> 手动指定要 Hook 的 `Method`、`Constructor`。
-
-::: warning
-
-不建议使用此方法设置目标需要 Hook 的 **Member** 对象,你可以使用 **method** 或 **constructor** 方法。
-
-:::
-
-allMethods - method
-
-**Change Records**
-
-`v1.0` `first`
-
-`v1.1.0` `deprecated`
-
-请使用 `method { name = /** name */ }.all()` 来取代它
-
-allConstructors - method
-
-**Change Records**
-
-`v1.0` `first`
-
-`v1.1.0` `deprecated`
-
-请使用 `allMembers(MembersType.CONSTRUCTOR)` 来取代它
-
-### allMembers - method
-
-```kotlin:no-line-numbers
-fun allMembers(type: MembersType)
-```
-
-**Change Records**
-
-`v1.1.0` `added`
-
-**Function Illustrate**
-
-> 查找并 Hook `hookClass` 中的全部 `Method`、`Constructor`。
-
-::: warning
-
-无法准确处理每个 **Member** 的返回值和 **param**,建议使用 **method** or **constructor** 对每个 **Member** 单独 Hook。
-
-:::
-
-### method - method
-
-```kotlin:no-line-numbers
-inline fun method(initiate: MethodConditions): MethodFinder.Result
-```
-
-**Change Records**
-
-`v1.0` `first`
-
-`v1.0.80` `modified`
-
-将方法体进行 inline
-
-**Function Illustrate**
-
-> 查找当前 `Class` 需要 Hook 的 `Method`。
-
-### constructor - method
-
-```kotlin:no-line-numbers
-inline fun constructor(initiate: ConstructorConditions): ConstructorFinder.Result
-```
-
-**Change Records**
-
-`v1.0` `first`
-
-`v1.0.80` `modified`
-
-将方法体进行 inline
-
-**Function Illustrate**
-
-> 查找当前 `Class` 需要 Hook 的 `Constructor`。
-
-HookParam.field - i-ext-method
-
-**Change Records**
-
-`v1.0` `first`
-
-`v1.0.80` `modified`
-
-将方法体进行 inline
-
-`v1.2.0` `removed`
-
-HookParam.method - i-ext-method
-
-**Change Records**
-
-`v1.0.2` `added`
-
-`v1.0.80` `modified`
-
-将方法体进行 inline
-
-`v1.2.0` `removed`
-
-HookParam.constructor - i-ext-method
-
-**Change Records**
-
-`v1.0.2` `added`
-
-`v1.0.80` `modified`
-
-将方法体进行 inline
-
-`v1.2.0` `removed`
-
-HookParam.injectMember - i-ext-method
-
-**Change Records**
-
-`v1.0.88` `added`
-
-`v1.2.0` `deprecated`
-
-嵌套 Hook 功能已弃用
-
### before - method
```kotlin:no-line-numbers
@@ -362,34 +184,6 @@ fun after(initiate: HookParam.() -> Unit): HookCallback
> 在 `Member` 执行完成后 Hook。
-beforeHook - method
-
-**Change Records**
-
-`v1.0` `first`
-
-`v1.1.0` `modified`
-
-新增 `HookCallback` 返回类型
-
-`v1.2.0` `deprecated`
-
-请迁移到 `before`
-
-afterHook - method
-
-**Change Records**
-
-`v1.0` `first`
-
-`v1.1.0` `modified`
-
-新增 `HookCallback` 返回类型
-
-`v1.2.0` `deprecated`
-
-请迁移到 `after`
-
### replaceAny - method
```kotlin:no-line-numbers
@@ -514,6 +308,26 @@ fun removeSelf(result: (Boolean) -> Unit)
:::
+### LegacyCreator - class
+
+```kotlin:no-line-numbers
+inner class LegacyCreator internal constructor()
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 使用 `injectMember` 创建的 Hook 核心功能实现类 (旧版本)。
+
+::: warning
+
+大部分旧版 API 已被迁移至此处,将不再特殊说明其中包含的旧版 API。
+
+:::
+
### HookCallback - class
```kotlin:no-line-numbers
diff --git a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/param/HookParam.md b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/param/HookParam.md
index a5c7ec20..690db20c 100644
--- a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/param/HookParam.md
+++ b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/param/HookParam.md
@@ -123,17 +123,27 @@ val instanceOrNull: Any?
## instanceClass - field
```kotlin:no-line-numbers
-val instanceClass: Class<*>
+val instanceClass: Class<*>?
```
**Change Records**
`v1.0` `first`
+`v1.2.0` `modified`
+
+加入可空类型 (空安全)
+
**Function Illustrate**
> 获取当前 Hook 实例的类对象。
+::: danger
+
+如果你当前 Hook 的对象是一个静态,那么它将不存在实例的对象。
+
+:::
+
## member - field
```kotlin:no-line-numbers
diff --git a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/param/PackageParam.md b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/param/PackageParam.md
index 255982f0..58d7d52e 100644
--- a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/param/PackageParam.md
+++ b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/param/PackageParam.md
@@ -613,7 +613,7 @@ inline fun searchClass(name: String, async: Boolean, initiate: ClassConditions):
建议启用 **async** 或设置 **name** 参数,**name** 参数将在 Hook APP (宿主) 不同版本中自动进行本地缓存以提升效率。
-此功能尚在试验阶段,性能与稳定性可能仍然存在问题,使用过程遇到问题请向我们报告并帮助我们改进。
+此功能尚在实验阶段,性能与稳定性可能仍然存在问题,使用过程遇到问题请向我们报告并帮助我们改进。
:::
@@ -957,7 +957,7 @@ inline fun BaseFinder.BaseResult.hook(priority: YukiHookPriority, initiate: Yuki
::: warning
-此功能尚在试验阶段,在 1.x.x 版本将暂定于此,在 2.x.x 版本将完全合并到新 API。
+此功能尚在实验阶段,在 1.x.x 版本将暂定于此,在 2.x.x 版本将完全合并到新 API。
:::
@@ -997,7 +997,7 @@ inline fun BaseFinder.BaseResult.hookAll(priority: YukiHookPriority, initiate: Y
::: warning
-此功能尚在试验阶段,在 1.x.x 版本将暂定于此,在 2.x.x 版本将完全合并到新 API。
+此功能尚在实验阶段,在 1.x.x 版本将暂定于此,在 2.x.x 版本将完全合并到新 API。
:::
diff --git a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.md b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.md
index a7e50ada..0d203b72 100644
--- a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.md
+++ b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.md
@@ -58,11 +58,7 @@ class YukiMemberHookCreator internal constructor(private val packageParam: Packa
请迁移到 `YukiHookPriority`
-## instanceClass - field
-
-```kotlin:no-line-numbers
-val instanceClass: Class<*>
-```
+instanceClass - field
**变更记录**
@@ -72,15 +68,9 @@ val instanceClass: Class<*>
~~`thisClass`~~ 更名为 `instanceClass`
-**功能描述**
+`v1.2.0` `作废`
-> 得到当前被 Hook 的 `Class`。
-
-::: danger
-
-不推荐直接使用,万一得不到 **Class** 对象则会无法处理异常导致崩溃。
-
-:::
+不再推荐使用
injectMember - method
@@ -101,7 +91,7 @@ val instanceClass: Class<*>
## injectMember - method
```kotlin:no-line-numbers
-inline fun injectMember(priority: YukiHookPriority, initiate: MemberHookCreator.() -> Unit): MemberHookCreator.Result
+inline fun injectMember(priority: YukiHookPriority, initiate: MemberHookCreator.LegacyCreator.() -> Unit): MemberHookCreator.Result
```
**变更记录**
@@ -112,31 +102,15 @@ inline fun injectMember(priority: YukiHookPriority, initiate: MemberHookCreator.
> 注入要 Hook 的 `Method`、`Constructor`。
-## useDangerousOperation - method
-
-```kotlin:no-line-numbers
-fun useDangerousOperation(option: String)
-```
+useDangerousOperation - method
**变更记录**
`v1.1.0` `新增`
-**功能描述**
+`v1.2.0` `作废`
-> 允许 Hook 过程中的所有危险行为。
-
-请在 `option` 中键入 `Yes do as I say!` 代表你同意允许所有危险行为。
-
-你还需要在整个调用域中声明注解 `DangerousHookOperation` 以消除警告。
-
-若你只需要 Hook `ClassLoader` 的 `loadClass` 方法,请参考 [ClassLoader.onLoadClass](../factory/ReflectionFactory#classloader-onloadclass-ext-method)。
-
-::: danger
-
-若你不知道允许此功能会带来何种后果,请勿使用。
-
-:::
+此功能已被弃用
## MemberHookCreator - class
@@ -174,158 +148,6 @@ inner class MemberHookCreator internal constructor(private val priority: YukiHoo
> Hook 核心功能实现类,查找和处理需要 Hook 的 `Method`、`Constructor`。
-member - field
-
-**变更记录**
-
-`v1.0` `添加`
-
-`v1.1.0` `移除`
-
-请迁移到 `members`
-
-### members - method
-
-```kotlin:no-line-numbers
-fun members(vararg member: Member?)
-```
-
-**变更记录**
-
-`v1.1.0` `新增`
-
-**功能描述**
-
-> 手动指定要 Hook 的 `Method`、`Constructor`。
-
-::: warning
-
-不建议使用此方法设置目标需要 Hook 的 **Member** 对象,你可以使用 **method** 或 **constructor** 方法。
-
-:::
-
-allMethods - method
-
-**变更记录**
-
-`v1.0` `添加`
-
-`v1.1.0` `作废`
-
-请使用 `method { name = /** name */ }.all()` 来取代它
-
-allConstructors - method
-
-**变更记录**
-
-`v1.0` `添加`
-
-`v1.1.0` `作废`
-
-请使用 `allMembers(MembersType.CONSTRUCTOR)` 来取代它
-
-### allMembers - method
-
-```kotlin:no-line-numbers
-fun allMembers(type: MembersType)
-```
-
-**变更记录**
-
-`v1.1.0` `新增`
-
-**功能描述**
-
-> 查找并 Hook `hookClass` 中的全部 `Method`、`Constructor`。
-
-::: warning
-
-无法准确处理每个 **Member** 的返回值和 **param**,建议使用 **method** or **constructor** 对每个 **Member** 单独 Hook。
-
-:::
-
-### method - method
-
-```kotlin:no-line-numbers
-inline fun method(initiate: MethodConditions): MethodFinder.Result
-```
-
-**变更记录**
-
-`v1.0` `添加`
-
-`v1.0.80` `修改`
-
-将方法体进行 inline
-
-**功能描述**
-
-> 查找当前 `Class` 需要 Hook 的 `Method`。
-
-### constructor - method
-
-```kotlin:no-line-numbers
-inline fun constructor(initiate: ConstructorConditions): ConstructorFinder.Result
-```
-
-**变更记录**
-
-`v1.0` `添加`
-
-`v1.0.80` `修改`
-
-将方法体进行 inline
-
-**功能描述**
-
-> 查找当前 `Class` 需要 Hook 的 `Constructor`。
-
-HookParam.field - i-ext-method
-
-**变更记录**
-
-`v1.0` `添加`
-
-`v1.0.80` `修改`
-
-将方法体进行 inline
-
-`v1.2.0` `移除`
-
-HookParam.method - i-ext-method
-
-**变更记录**
-
-`v1.0.2` `新增`
-
-`v1.0.80` `修改`
-
-将方法体进行 inline
-
-`v1.2.0` `移除`
-
-HookParam.constructor - i-ext-method
-
-**变更记录**
-
-`v1.0.2` `新增`
-
-`v1.0.80` `修改`
-
-将方法体进行 inline
-
-`v1.2.0` `移除`
-
-HookParam.injectMember - i-ext-method
-
-**变更记录**
-
-`v1.0.88` `新增`
-
-`v1.2.0` `作废`
-
-嵌套 Hook 功能已弃用
-
### before - method
```kotlin:no-line-numbers
@@ -354,34 +176,6 @@ fun after(initiate: HookParam.() -> Unit): HookCallback
> 在 `Member` 执行完成后 Hook。
-beforeHook - method
-
-**变更记录**
-
-`v1.0` `添加`
-
-`v1.1.0` `修改`
-
-新增 `HookCallback` 返回类型
-
-`v1.2.0` `作废`
-
-请迁移到 `before`
-
-afterHook - method
-
-**变更记录**
-
-`v1.0` `添加`
-
-`v1.1.0` `修改`
-
-新增 `HookCallback` 返回类型
-
-`v1.2.0` `作废`
-
-请迁移到 `after`
-
### replaceAny - method
```kotlin:no-line-numbers
@@ -506,6 +300,26 @@ fun removeSelf(result: (Boolean) -> Unit)
:::
+### LegacyCreator - class
+
+```kotlin:no-line-numbers
+inner class LegacyCreator internal constructor()
+```
+
+**变更记录**
+
+`v1.2.0` `新增`
+
+**功能描述**
+
+> 使用 `injectMember` 创建的 Hook 核心功能实现类 (旧版本)。
+
+::: warning
+
+大部分旧版 API 已被迁移至此处,将不再特殊说明其中包含的旧版 API。
+
+:::
+
### HookCallback - class
```kotlin:no-line-numbers
diff --git a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/param/HookParam.md b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/param/HookParam.md
index 15c56e7c..4f2de3e1 100644
--- a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/param/HookParam.md
+++ b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/param/HookParam.md
@@ -115,17 +115,27 @@ val instanceOrNull: Any?
## instanceClass - field
```kotlin:no-line-numbers
-val instanceClass: Class<*>
+val instanceClass: Class<*>?
```
**变更记录**
`v1.0` `添加`
+`v1.2.0` `修改`
+
+加入可空类型 (空安全)
+
**功能描述**
> 获取当前 Hook 实例的类对象。
+::: danger
+
+如果你当前 Hook 的对象是一个静态,那么它将不存在实例的对象。
+
+:::
+
## member - field
```kotlin:no-line-numbers
diff --git a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/param/PackageParam.md b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/param/PackageParam.md
index 58d0f4af..58ac7b77 100644
--- a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/param/PackageParam.md
+++ b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/param/PackageParam.md
@@ -601,7 +601,7 @@ inline fun searchClass(name: String, async: Boolean, initiate: ClassConditions):
建议启用 **async** 或设置 **name** 参数,**name** 参数将在 Hook APP (宿主) 不同版本中自动进行本地缓存以提升效率。
-此功能尚在试验阶段,性能与稳定性可能仍然存在问题,使用过程遇到问题请向我们报告并帮助我们改进。
+此功能尚在实验阶段,性能与稳定性可能仍然存在问题,使用过程遇到问题请向我们报告并帮助我们改进。
:::
@@ -945,7 +945,7 @@ inline fun BaseFinder.BaseResult.hook(priority: YukiHookPriority, initiate: Yuki
::: warning
-此功能尚在试验阶段,在 1.x.x 版本将暂定于此,在 2.x.x 版本将完全合并到新 API。
+此功能尚在实验阶段,在 1.x.x 版本将暂定于此,在 2.x.x 版本将完全合并到新 API。
:::
@@ -985,7 +985,7 @@ inline fun BaseFinder.BaseResult.hookAll(priority: YukiHookPriority, initiate: Y
::: warning
-此功能尚在试验阶段,在 1.x.x 版本将暂定于此,在 2.x.x 版本将完全合并到新 API。
+此功能尚在实验阶段,在 1.x.x 版本将暂定于此,在 2.x.x 版本将完全合并到新 API。
:::