XP框架即Xposed框架,是一套开源的、在Android高权限模式下运行的框架服务,Xposed框架可以在不修改APK文件的情况下影响程序运行的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。
XP 框架即 XPosed 框架,是一套开源的、在 Android 高权限模式下运行的框架服务,可以在不修改 APK 文件的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。
XP 框架是什么
XP 框架即 Xposed 框架(Xposed Framework),它是一套开源的、在 Android 高权限模式下运行的框架服务。Xposed 框架可以在不修改 APK 文件的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。
Android 中一般存在两种 hook:sdk hook 和 ndk hook。native hook 的难点在于理解 ELF 文件与学习 ELF 文件,Java 层 Hook 则需要了解虚拟机的特性与 java 上的反射使用。
另外还存在全局 hook,即结合 sdk hook 和 ndk hook,xposed 就是一种典型的全局 hook 框架。
xp 框架的优点
- 无需反编译 apk 文件;
- 能在 odexed 或 deodexed 的 Rom 上运行。
Xposed 框架的五个部分
- Xposed:独立实现了一版 Xposed 版的 zyogte,即生成用来替换/system/bin/app_process 的可执行文件,该文件在系统启动时在 init.rc 中被调用,启动 Zygote 进程。
- XposedBridge:Xposed 框架的 Java 部分,编译输出为 XposedBridge.jar,为开发者提供接口。
- android_art:Xposed 框架的 C++部分,对 XposedBridge 的补充。
- XposedTools:框架编译工具,因为 Xposed 和 XposedBridge 编译依赖于 Android 源码,而且还有一些定制化的东西。
- XposedInstaller:Xposed 插件管理和功能选择应用,界面如下图所示,其功能包括启动 Xposed 框架,下载和启用指定插件,或禁用插件等。
XPosed 的原理
xposed 原理就是修改系统的关键文件,然后当 APP 调用系统 API 时,首先经过 xposed,而这些基于 xposed 的模块就可以选择性的在 App 调用这些 api 的时候干一些”坏坏”的事情,或者修改返回的结果,这样 app 在运行的时候效果就会改变,但 app 本身并没有被破坏,只是调用系统 api 的时候,Android 系统的表现发生了变化,这就是钩子,专业术语 hook。所以,说白了,xposed 就是个强大的钩子框架。
使用 XPosed 必须 root 吗
既然是劫持系统,当然是要 root 权限的啦。
XPosed 有风险吗
当然有,root 尚且还有风险呢,但是不用担心,只要不是小众手机,坑都被别人踩过了,所以放心大胆的安装吧,大不了重新刷个系统,要是怕变砖的话,你还是买个 iPhone 吧。不过呢,有些国产安卓乱改系统,例如:MIUI,Flyme,有些标准 api 被篡改了,所以安装模块的时候注意看有没有区分 ROM