今天简单介绍一下安卓手机中非常有用的两个框架,一个是Xposed框架,一个VirtualXposed框架。人们常说安卓 Android 比苹果 iOS 更具可玩性,其中最能体现这一点的就数 Xposed 框架了,它能让你使用各种“模块”,像外挂一样去修改系统或 APP 来获得不同的新功能特性。

之前想要玩 Xposed 框架,最麻烦在于必须 Root 设备,还要解锁 Bootloader 刷 Recovery,承担手机变砖和系统安全性方面的风险,对很多用户来说上手难度门槛较高。不过,随着黑科技般的 VirtualXposed 出现,大家终于可以免 Root 权限直接使用 Xposed 框架

Xposed框架

Xposed简介

Xposed框架是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。(From 百度百科-Xposed框架 词条)

Xposed原理

xposed 原理就是修改系统的关键文件,然后当APP调用系统API时,首先经过xposed,而这些基于xposed的模块就可以选择性的在App调用这些api的时候干一些”坏坏”的事情,或者修改返回的结果,这样app在运行的时候效果就会改变,但app本身并没有被破坏,只是调用系统api的时候,Android系统的表现发生了变化,这就是钩子,专业术语hook。所以,说白了,xposed就是个强大的钩子框架。

来一段专业的原理解释吧:

作者通过替换 /system/bin/app_precesss 程序控制zygote进程,使得它在系统启动的过程中会加载Xposed framework的一个jar文件即XposedBridge.jar,从而完成对Zygote进程及其创建的Dalvik虚拟机的劫持,并且能够允许开发者独立的替代任何class,例如framework本身,系统UI又或者随意的一个app。除此之外使用这种方法的好处是ROM,APP都没有产生任何变化,因此理论上就不会造成设备变砖,同时撤掉修改也非常容易,仅需要停用 Xposed framework 即可完全恢复原样。

Xposed Author(s)

rovo89, Tungstwenty

几个有用的链接

Xposed官网链接(已被墙)

中文官网

Android 系统上的 Xposed 框架中都有哪些值得推荐的模块?———知乎

VirtualXposed

VXP简介

VirtualXposed 是基于VirtualApp 和 epic 在非ROOT环境下运行Xposed模块的实现(支持5.0~8.1)。一直以来Xposed框架最大的入门难度就在于设备需要Root,然后还要Recovery,还有承担变砖的各种搞基风险,现在这一切都不用再担心了!感谢Xposed作者rov89,感谢VirtualApp作者asLody@github!目前来看VirtualXposed的稳定性已经相当出色了!

下载

首先在 VirtualXposed发布页面 下载最新的VAExposed安装包安装到手机。

界面

主界面

框架页面

框架页面

应用界面

应用界面

管理界面

管理设置页面

使用

安装模块的方式

打开 VirtualXposed,在里面安装要使用的APP,以及相应的Xposed模块即可。

注意:所有的工作(安装Xposed模块,安装APP)必须在 VirtualXposed中进行,否则Xposed模块不会有任何作用!比如,将微信直接安装在系统上(而非VirtualXposed中),防撤回安装在VirtualXposed中;或者把微信安装在VirtualXposed上,防撤回插件直接安装在系统上;或者两者都直接安装在系统上,均不会起任何作用。

在VirtualXposed中安装App的方式

直接复制已经在系统中安装好的APP,比如如果你系统中装了微信,那么可以直接复制一份。
通过外置存储直接安装APK文件;点主界面的➕,然后选择后面两个TAB即可。
在VirtualXposed中安装Xposed模块,可以跟安装正常的APK一样,以上两种安装App的方式也适用于安装Xposed模块。不过,你也可以通过VirtualXposed中内置的XposedInstaller来安装和管理模块,跟通常的XposedInstaller使用方式一样;去下载页面,下载安装即可。

VirtualXposed已知问题

由于暂不支持资源HOOK,因此资源钩子不会起任何作用;使用资源HOOK的模块,相应的功能不会生效。部分插件的兼容性有问题,比如QX模块。

链接

VirtualXposed主页——Github