Modify organize documentation

This commit is contained in:
2022-08-17 02:03:10 +08:00
parent 44d4f7c29c
commit 134a45f3e0
55 changed files with 557 additions and 524 deletions

View File

@@ -68,7 +68,7 @@ resources().hook {
## 一个简单的 Hook 例子
> 这里给出了 Hook APP、Hook 系统框架与 Hook Resources 例子,可供参考。
> 这里给出了 Hook APP、Hook 系统框架与 Hook Resources 例子,可供参考。
### Hook APP
@@ -423,7 +423,12 @@ method {
```kotlin
// <情景1>
injectMember {
throw RuntimeException("Exception Test")
method {
throw RuntimeException("Exception Test")
}
afterHook {
// ...
}
}.result {
// 能够捕获到 RuntimeException
onHookingFailure {}
@@ -446,7 +451,7 @@ injectMember {
若我们想将这些异常直接抛给宿主,原生的 Xposed 为我们提供了 `param.throwable` 方法,`YukiHookAPI` 同样可以实现此功能。
若想在 Hook 回调方法中将一个异常直接抛给宿主,可以有如下实现方法。
若想在 Hook 回调方法中将一个异常直接抛给宿主,可以有如下实现方法。
> 示例如下
@@ -461,7 +466,7 @@ injectMember {
}
```
你也可以直接在 Hook 回调方法中抛出异常,然后标识将异常抛给宿主。
你也可以直接在 Hook 回调方法中抛出异常,然后标识将异常抛给宿主。
> 示例如下
@@ -613,4 +618,4 @@ if(YukiHookAPI.Status.isModuleActive) {
!> 除了提供标准 API 的 Hook 框架之外,其它情况下模块可能都将无法判断自己是否被激活。
<br/><br/>
[浏览下一篇 ➡️](guide/special-feature.md)
[浏览下一篇 &nbsp;➡️](guide/special-feature.md)

View File

@@ -40,7 +40,7 @@
- **方便移植**
原生支持 Xposed API 用法,并原生对接 Xposed API拥有 Xposed API 的 Hook 框架都能快速对接 Yuki Hook API。
原生支持 Xposed API 用法,并原生对接 Xposed API拥有 Xposed API 的 Hook 框架都能快速对接 `YukiHookAPI`
- **支持混淆**
@@ -205,4 +205,4 @@ class HookEntry : IXposedHookZygoteInit, IXposedHookLoadPackage, IXposedHookInit
| [Xposed](https://github.com/rovo89/Xposed) | ❎ | 未测试,不再推荐使用 |
<br/><br/>
[浏览下一篇 ➡️](guide/knowledge.md)
[浏览下一篇 &nbsp;➡️](guide/knowledge.md)

View File

@@ -2,6 +2,8 @@
> 这里收集了 Xposed 相关的介绍以及开启前需要掌握的知识要点,已经了解的同学可以略过。
基础知识内容<u>**并不一定完全准确**</u>,请根据自己的见解酌情阅读,若发现内容**有错误欢迎指正并帮助我们完善和改进**。
## 相关介绍
> 这里介绍了 Xposed 以及 Hook 的工作原理。
@@ -27,11 +29,11 @@ Xposed Framework
...
```
我们可以在宿主(APP)运行时通过注入宿主(APP)来达到控制其行为的最终目的。
我们可以在宿主 (APP) 运行时通过注入宿主 (APP) 来达到控制其行为的最终目的。
Xposed 的这种运行方式被称为**寄生**Xposed 模块跟随宿主的生命周期,在宿主的生命周期内完成自己的生命历程。
我们可以通过反射的方式调用宿主的方法、变量、构造方法,以及使用 `XposedBridge` 所提供的 Hook 操作动态地在宿主(APP)要执行的方法前后插入自己的代码,或完全替换目标,甚至是拦截。
我们可以通过反射的方式调用宿主的方法、变量、构造方法,以及使用 `XposedBridge` 所提供的 Hook 操作动态地在宿主 (APP) 要执行的方法前后插入自己的代码,或完全替换目标,甚至是拦截。
### 发展过程
@@ -68,7 +70,7 @@ App's Environment
## 让我们开始吧
在开始之前,你需要拥有下基础才能更好地使用 `YukiHookAPI`
在开始之前,你需要拥有下基础才能更好地使用 `YukiHookAPI`
- 掌握并了解 Android 开发及简单的系统运行原理
@@ -83,4 +85,4 @@ App's Environment
- 掌握并了解 Kotlin 与 Java 混编、互相调用以及 Kotlin 生成的 Java 字节码
<br/><br/>
[浏览下一篇 ➡️](guide/quick-start.md)
[浏览下一篇 &nbsp;➡️](guide/quick-start.md)

View File

@@ -252,4 +252,4 @@ override fun replaceHookedMethod(param: MethodHookParam) = null
`YukiHookAPI` 对 Xposed API 进行了完全重写,你可以参考 [API 文档](api/home) 以及 [特色功能](guide/special-feature) 来决定一些功能性的迁移和使用。
<br/><br/>
[浏览下一篇 ➡️](config/api-example.md)
[浏览下一篇 &nbsp;➡️](config/api-example.md)

View File

@@ -6,9 +6,9 @@
- Windows 7 及以上/macOS 10.14 及以上/Linux 发行版(Arch/Debian)
- Android Studio 4.1 及以上
- Android Studio 2021.1 及以上
- IntelliJ IDEA 2021.01 及以上
- IntelliJ IDEA 2021.1 及以上
- Kotlin 1.6.0 及以上
@@ -186,4 +186,4 @@ override fun attachBaseContext(base: Context?) {
!> 由于你使用了自定义的 Hook 框架而并非模块,~~`YukiHookModuleStatus`~~ ~~`YukiHookModulePrefs`~~ ~~`YukiHookDataChannel`~~ 以及 Resources Hook 功能将失效。
<br/><br/>
[浏览下一篇 ➡️](guide/example.md)
[浏览下一篇 &nbsp;➡️](guide/example.md)

View File

@@ -687,7 +687,7 @@ classOf("com.demo.Test").buildOfAny(true) { param(BooleanType) }?.current {
}
```
更多用法可参考 [CurrentClass](api/document?id=currentclass-class) 以及 [buildOf](api/document?id=buildof-method) 方法。
更多用法可参考 [CurrentClass](api/document?id=currentclass-class) 以及 [Class.buildOf](api/document?id=classbuildof-ext-method) 方法。
### 再次查询
@@ -1070,7 +1070,7 @@ method {
}
```
更多类型请 [点击这里](api/document?id=graphicstypefactory-kt) 前往查看,也欢迎你能贡献更多的常用类型。
更多类型请 [点击这里](api/document?id=componenttypefactory-kt) 前往查看,也欢迎你能贡献更多的常用类型。
## 调试日志功能
@@ -1493,4 +1493,4 @@ loadApp(name = "com.example.demo") {
详情请参考 [AppLifecycle](api/document?id=applifecycle-class)。
<br/><br/>
[浏览下一篇 ➡️](guide/move-to-new-api.md)
[浏览下一篇 &nbsp;➡️](guide/move-to-new-api.md)