docs: update api docs

This commit is contained in:
2023-10-07 11:17:05 +08:00
parent 8d8002df87
commit 94ffac84bc
6 changed files with 85 additions and 437 deletions

View File

@@ -38,7 +38,7 @@ class YukiMemberHookCreator internal constructor(private val packageParam: Packa
<h2 class="deprecated">PRIORITY_DEFAULT - field</h2>
**变更记录**
**Change Records**
`v1.0.80` `added`
@@ -48,7 +48,7 @@ class YukiMemberHookCreator internal constructor(private val packageParam: Packa
<h2 class="deprecated">PRIORITY_LOWEST - field</h2>
**变更记录**
**Change Records**
`v1.0.80` `added`
@@ -58,7 +58,7 @@ class YukiMemberHookCreator internal constructor(private val packageParam: Packa
<h2 class="deprecated">PRIORITY_HIGHEST - field</h2>
**变更记录**
**Change Records**
`v1.0.80` `added`
@@ -66,11 +66,7 @@ class YukiMemberHookCreator internal constructor(private val packageParam: Packa
请迁移到 `YukiHookPriority`
## instanceClass <span class="symbol">- field</span>
```kotlin:no-line-numbers
val instanceClass: Class<*>
```
<h2 class="deprecated">instanceClass - field</h2>
**Change Records**
@@ -80,15 +76,9 @@ val instanceClass: Class<*>
~~`thisClass`~~ 更名为 `instanceClass`
**Function Illustrate**
`v1.2.0` `deprecated`
> 得到当前被 Hook 的 `Class`。
::: danger
不推荐直接使用,万一得不到 **Class** 对象则会无法处理异常导致崩溃。
:::
不再推荐使用
<h2 class="deprecated">injectMember - method</h2>
@@ -109,7 +99,7 @@ val instanceClass: Class<*>
## injectMember <span class="symbol">- method</span>
```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 <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun useDangerousOperation(option: String)
```
<h2 class="deprecated">useDangerousOperation - method</h2>
**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 <span class="symbol">- class</span>
@@ -182,158 +156,6 @@ inner class MemberHookCreator internal constructor(private val priority: YukiHoo
> Hook 核心功能实现类,查找和处理需要 Hook 的 `Method`、`Constructor`。
<h3 class="deprecated">member - field</h3>
**Change Records**
`v1.0` `first`
`v1.1.0` `removed`
请迁移到 `members`
### members <span class="symbol">- method</span>
```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** 方法。
:::
<h3 class="deprecated">allMethods - method</h3>
**Change Records**
`v1.0` `first`
`v1.1.0` `deprecated`
请使用 `method { name = /** name */ }.all()` 来取代它
<h3 class="deprecated">allConstructors - method</h3>
**Change Records**
`v1.0` `first`
`v1.1.0` `deprecated`
请使用 `allMembers(MembersType.CONSTRUCTOR)` 来取代它
### allMembers <span class="symbol">- method</span>
```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 <span class="symbol">- method</span>
```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 <span class="symbol">- method</span>
```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`。
<h3 class="deprecated">HookParam.field - i-ext-method</h3>
**Change Records**
`v1.0` `first`
`v1.0.80` `modified`
将方法体进行 inline
`v1.2.0` `removed`
<h3 class="deprecated">HookParam.method - i-ext-method</h3>
**Change Records**
`v1.0.2` `added`
`v1.0.80` `modified`
将方法体进行 inline
`v1.2.0` `removed`
<h3 class="deprecated">HookParam.constructor - i-ext-method</h3>
**Change Records**
`v1.0.2` `added`
`v1.0.80` `modified`
将方法体进行 inline
`v1.2.0` `removed`
<h3 class="deprecated">HookParam.injectMember - i-ext-method</h3>
**Change Records**
`v1.0.88` `added`
`v1.2.0` `deprecated`
嵌套 Hook 功能已弃用
### before <span class="symbol">- method</span>
```kotlin:no-line-numbers
@@ -362,34 +184,6 @@ fun after(initiate: HookParam.() -> Unit): HookCallback
> 在 `Member` 执行完成后 Hook。
<h3 class="deprecated">beforeHook - method</h3>
**Change Records**
`v1.0` `first`
`v1.1.0` `modified`
新增 `HookCallback` 返回类型
`v1.2.0` `deprecated`
请迁移到 `before`
<h3 class="deprecated">afterHook - method</h3>
**Change Records**
`v1.0` `first`
`v1.1.0` `modified`
新增 `HookCallback` 返回类型
`v1.2.0` `deprecated`
请迁移到 `after`
### replaceAny <span class="symbol">- method</span>
```kotlin:no-line-numbers
@@ -514,6 +308,26 @@ fun removeSelf(result: (Boolean) -> Unit)
:::
### LegacyCreator <span class="symbol">- class</span>
```kotlin:no-line-numbers
inner class LegacyCreator internal constructor()
```
**Change Records**
`v1.2.0` `added`
**Function Illustrate**
> 使用 `injectMember` 创建的 Hook 核心功能实现类 (旧版本)。
::: warning
大部分旧版 API 已被迁移至此处,将不再特殊说明其中包含的旧版 API。
:::
### HookCallback <span class="symbol">- class</span>
```kotlin:no-line-numbers

View File

@@ -123,17 +123,27 @@ val instanceOrNull: Any?
## instanceClass <span class="symbol">- field</span>
```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 <span class="symbol">- field</span>
```kotlin:no-line-numbers

View File

@@ -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。
:::

View File

@@ -58,11 +58,7 @@ class YukiMemberHookCreator internal constructor(private val packageParam: Packa
请迁移到 `YukiHookPriority`
## instanceClass <span class="symbol">- field</span>
```kotlin:no-line-numbers
val instanceClass: Class<*>
```
<h2 class="deprecated">instanceClass - field</h2>
**变更记录**
@@ -72,15 +68,9 @@ val instanceClass: Class<*>
~~`thisClass`~~ 更名为 `instanceClass`
**功能描述**
`v1.2.0` `作废`
> 得到当前被 Hook 的 `Class`。
::: danger
不推荐直接使用,万一得不到 **Class** 对象则会无法处理异常导致崩溃。
:::
不再推荐使用
<h2 class="deprecated">injectMember - method</h2>
@@ -101,7 +91,7 @@ val instanceClass: Class<*>
## injectMember <span class="symbol">- method</span>
```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 <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun useDangerousOperation(option: String)
```
<h2 class="deprecated">useDangerousOperation - method</h2>
**变更记录**
`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 <span class="symbol">- class</span>
@@ -174,158 +148,6 @@ inner class MemberHookCreator internal constructor(private val priority: YukiHoo
> Hook 核心功能实现类,查找和处理需要 Hook 的 `Method`、`Constructor`。
<h3 class="deprecated">member - field</h3>
**变更记录**
`v1.0` `添加`
`v1.1.0` `移除`
请迁移到 `members`
### members <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun members(vararg member: Member?)
```
**变更记录**
`v1.1.0` `新增`
**功能描述**
> 手动指定要 Hook 的 `Method`、`Constructor`。
::: warning
不建议使用此方法设置目标需要 Hook 的 **Member** 对象,你可以使用 **method** 或 **constructor** 方法。
:::
<h3 class="deprecated">allMethods - method</h3>
**变更记录**
`v1.0` `添加`
`v1.1.0` `作废`
请使用 `method { name = /** name */ }.all()` 来取代它
<h3 class="deprecated">allConstructors - method</h3>
**变更记录**
`v1.0` `添加`
`v1.1.0` `作废`
请使用 `allMembers(MembersType.CONSTRUCTOR)` 来取代它
### allMembers <span class="symbol">- method</span>
```kotlin:no-line-numbers
fun allMembers(type: MembersType)
```
**变更记录**
`v1.1.0` `新增`
**功能描述**
> 查找并 Hook `hookClass` 中的全部 `Method`、`Constructor`。
::: warning
无法准确处理每个 **Member** 的返回值和 **param**,建议使用 **method** or **constructor** 对每个 **Member** 单独 Hook。
:::
### method <span class="symbol">- method</span>
```kotlin:no-line-numbers
inline fun method(initiate: MethodConditions): MethodFinder.Result
```
**变更记录**
`v1.0` `添加`
`v1.0.80` `修改`
将方法体进行 inline
**功能描述**
> 查找当前 `Class` 需要 Hook 的 `Method`。
### constructor <span class="symbol">- method</span>
```kotlin:no-line-numbers
inline fun constructor(initiate: ConstructorConditions): ConstructorFinder.Result
```
**变更记录**
`v1.0` `添加`
`v1.0.80` `修改`
将方法体进行 inline
**功能描述**
> 查找当前 `Class` 需要 Hook 的 `Constructor`。
<h3 class="deprecated">HookParam.field - i-ext-method</h3>
**变更记录**
`v1.0` `添加`
`v1.0.80` `修改`
将方法体进行 inline
`v1.2.0` `移除`
<h3 class="deprecated">HookParam.method - i-ext-method</h3>
**变更记录**
`v1.0.2` `新增`
`v1.0.80` `修改`
将方法体进行 inline
`v1.2.0` `移除`
<h3 class="deprecated">HookParam.constructor - i-ext-method</h3>
**变更记录**
`v1.0.2` `新增`
`v1.0.80` `修改`
将方法体进行 inline
`v1.2.0` `移除`
<h3 class="deprecated">HookParam.injectMember - i-ext-method</h3>
**变更记录**
`v1.0.88` `新增`
`v1.2.0` `作废`
嵌套 Hook 功能已弃用
### before <span class="symbol">- method</span>
```kotlin:no-line-numbers
@@ -354,34 +176,6 @@ fun after(initiate: HookParam.() -> Unit): HookCallback
> 在 `Member` 执行完成后 Hook。
<h3 class="deprecated">beforeHook - method</h3>
**变更记录**
`v1.0` `添加`
`v1.1.0` `修改`
新增 `HookCallback` 返回类型
`v1.2.0` `作废`
请迁移到 `before`
<h3 class="deprecated">afterHook - method</h3>
**变更记录**
`v1.0` `添加`
`v1.1.0` `修改`
新增 `HookCallback` 返回类型
`v1.2.0` `作废`
请迁移到 `after`
### replaceAny <span class="symbol">- method</span>
```kotlin:no-line-numbers
@@ -506,6 +300,26 @@ fun removeSelf(result: (Boolean) -> Unit)
:::
### LegacyCreator <span class="symbol">- class</span>
```kotlin:no-line-numbers
inner class LegacyCreator internal constructor()
```
**变更记录**
`v1.2.0` `新增`
**功能描述**
> 使用 `injectMember` 创建的 Hook 核心功能实现类 (旧版本)。
::: warning
大部分旧版 API 已被迁移至此处,将不再特殊说明其中包含的旧版 API。
:::
### HookCallback <span class="symbol">- class</span>
```kotlin:no-line-numbers

View File

@@ -115,17 +115,27 @@ val instanceOrNull: Any?
## instanceClass <span class="symbol">- field</span>
```kotlin:no-line-numbers
val instanceClass: Class<*>
val instanceClass: Class<*>?
```
**变更记录**
`v1.0` `添加`
`v1.2.0` `修改`
加入可空类型 (空安全)
**功能描述**
> 获取当前 Hook 实例的类对象。
::: danger
如果你当前 Hook 的对象是一个静态,那么它将不存在实例的对象。
:::
## member <span class="symbol">- field</span>
```kotlin:no-line-numbers

View File

@@ -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。
:::