Xposed / LSPosed 框架术语对照 - 系统框架与模块加载一次看懂
Xposed Framework
Xposed Framework(常简称 Xposed)是 Android 上最著名的系统级模块框架——它的原理是修改 Zygote 的启动流程,让每个应用进程都先经过 Xposed 的 hook 点,第三方模块可以在 hook 点里注入自己的代码。
Xposed 可以实现:
- 改系统 UI(状态栏、通知栏、字体)
- 增强应用功能(去广告、修改界面)
- 改变应用行为(游戏辅助、隐私保护)
原版 Xposed 的缺点是兼容性差(每个安卓版本都需要更新适配),而且直接修改 system 分区会让 OTA 变砖。
LSPosed
LSPosed(常简称 LSPosed 或 LS)是 Xposed 的现代继任者——它通过 Riru / Zygisk 方案在 Zygote 层实现注入,不再需要修改 system 分区。这使得:
- 兼容性大幅提升
- 可以通过 Magisk 安装(作为 Magisk 模块)
- 可以随时开关模块
- OTA 升级不再变砖
LSPosed 是目前最活跃的 Xposed 框架分支,原版 Xposed 已经基本停止更新。
EdXposed
EdXposed 是另一个 Xposed 的继任方案——它基于 Magisk + Riru 实现,和 LSPosed 类似但实现方式略有差异。目前主流推荐 LSPosed。
Zygote
Zygote 是 Android 应用进程的孵化机制——系统启动时 Zygote 进程预先 fork 出 Dalvik VM / ART 虚拟机的实例,后续启动每个应用进程都从 Zygote fork 出来,避免每次启动都重新初始化虚拟机。
Xposed / LSPosed / Magisk Zygisk 的注入机制都依赖 Zygote——它们在 Zygote 启动时把 hook 代码注入进去,之后 fork 出的所有应用进程都会自动携带 hook 代码。
Riru
Riru 是一个 Zygote 注入工具——它修改 Zygote 的内存来加载模块,是 LSPosed 和 EdXposed 的底层依赖。新版 Magisk Zygisk 提供了类似能力后,Riru 的独立安装需求降低了。
Zygote 注入 vs Magic Mount
两者是 Magisk 体系里的不同注入方案:
| 机制 | 注入层级 | 用途 |
|---|---|---|
| Magic Mount | 文件系统层面 | 覆盖系统文件(如改系统 UI、替换系统库) |
| Zygisk / Riru | 进程注入层面 | 向应用进程注入代码(如 LSPosed 模块) |
Hunter 的 Xposed / 框架痕迹检测扫的就是 Zygisk / Riru 层的注入痕迹。