mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-07 03:05:36 +08:00
Modify organize documentation
This commit is contained in:
@@ -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)
|
||||
[浏览下一篇 ➡️](guide/special-feature.md)
|
@@ -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)
|
||||
[浏览下一篇 ➡️](guide/knowledge.md)
|
@@ -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)
|
||||
[浏览下一篇 ➡️](guide/quick-start.md)
|
@@ -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)
|
||||
[浏览下一篇 ➡️](config/api-example.md)
|
@@ -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)
|
||||
[浏览下一篇 ➡️](guide/example.md)
|
@@ -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)
|
||||
[浏览下一篇 ➡️](guide/move-to-new-api.md)
|
Reference in New Issue
Block a user