Xposed(也被称作Xposed框架、XP框架、Xposedframework),是运行于Android操作系统的一个著名的免费开源Hook框架。其通过替换Android系统的关键文件,可以拦截几乎所有Java函数的调用,并允许通过模块扩展方式来实现各种功能,模块中的自定义代码可以更改调用函数时的行为,常被用来修改Android系统和应用程序的功能。
用户可以在一些应用商店或其自带的下载库来下载安装各种模块,相比于重新安装系统来获得新功能,Xposed提供了一种更便捷的方式[1][2]。Xposed模块可以很容易的开启和关闭。你只需要激活或者禁用Xposed模块,然后重启手机即可。
Xposed框架的标志
但如今,随着Android系统的不断更新,Xposed框架逐渐无法在新设备上运行。此时,EdXposed团队成为了后续版本研发的继任者。年1月,ElderDrivers完成了EdXposed的开发。EdXposed是一个Magisk模块,依赖于riru框架,成功将Xposed移植到了AndroidPie上,成为最接近原版Xposed的框架。年9月,EdXposed正式支持AndroidQ。年1月,EdXposed与Xposed原开发团队达成共识,成为Xposed停止更新后的官方接任者[3]。
EdXposed有如下几个特点:
1.完全支持AndroidPie和Q,甚至也可以支持R。
2.EdXposed具有“应用列表”模式。可以选择要应用Xposed模块进行hook的的应用程序,而系统中的其他应用程序在完全干净的环境中运行。
3.EdXposed使用Riru注入,不修改libart和app_process。
安装和使用
对于Xposed,XposedInstaller是Xposed框架的官方安装器,可以在拥有root权限的设备上安装Xposed框架。XposedInstaller也提供模块的下载、管理、日志显示等功能[4]。鉴于Xposed已经不再适用于新的Android系统,并且网上已经有非常多的教程,在此就不再赘述了。下面着重介绍一下EdXposed的安装方法。
由于框架的核心点是系统进程注入技术,需要拥有设备的root权限,而且针对不同型号的设备和系统版本需要选择正确的框架版本,满足条件才能安装。
首先,我们需要解除手机的BL锁,对于不同品牌的手机,解锁方式有所不同。以小米手机为例,可以在官方网站进行申请,步骤较为简单[5]。
其次,需要在手机上安装第三方Recovery,此处以TWRP为例。
2.1.下载并安装ADB/FASTBOOT支持,安装完成后启动手机进入fastboot模式,连接电脑。在命令行中输入fastbootdevices并执行,如果显示当前的连接手机,则安装成功。
2.2.打开TWRP