首页
社区
课程
招聘
[原创]学习篇-xposed框架及高版本替代方案
2020-12-10 19:15 13256

[原创]学习篇-xposed框架及高版本替代方案

2020-12-10 19:15
13256

Xposed从Android 4.0就开始出现,而现在Android Q的版本已经来到了10.0/11,且Xposed框架又没有像Android系统版本一样能够快速的更新,从而导致很多Xposed用户对于自己究竟该使用哪个版本或者说怎么使用Xposed框架感到很迷茫。所以在自己的设备上,特别是7.0之上的设备上想要使用xposed框架进行hook之前,需要对整个xposed安装环境有全面的了解。

0.开胃菜

不管是刷机还是刷各种框架都需要对recovery,系统分区,root权限这些基础知识有所了解。如果还不了解,可以先看下这篇文章,否则直接跳过就好.

1.适用于 Android 4.0 ~ Android 7.1的Xposed框架

作者rovo89的Xposed的官方版本最新的版本停留在Android 8.0/8.1 beta3版本

 

如果你的系统在4.0 ~ 7.1(8.0,和8.1也可以,但是不建议)之间,那么你直接使用官方的框架即可,但由于在Android 5.0之后Xposed框架的安装方式变得更加简单,因此具体的安装步骤如下:

  • 获取Root权限,这是前提条件,通常是使用SuperSu(7.0及以下低版本)和Magmisk(8.0以上高版本)的方式,当然也可以直接刷编译root rom。
  • 卡刷Xposed.zip安装
    如果Android系统版本在Android5.0(不包括)以下:

    • 你需要通过recovery刷入Xposed.zip文件实现recovery 卡刷安装xposed框架
    • 然后手动安装xposedinstaller.apk管理程序。
  • Xposedinstaller中安装
    如果Android系统版本在Android5.0(包括)以上

    • 首先安装Xposed installer
    • 然后打开,给予权限,根据自动匹配的文件自动开始安装
    • 当然你仍然可以通过recovery来刷入相关文件实现上面的目的,区别是一个自动一个手动

image

 

Download and Install Xposed v90 Beta 3 for Android Oreo 8.0/8.1:https://www.androidsage.com/2018/01/09/download-install-latest-xposed-v90-android-8-0-8-1-oreo/#How_to_Install_Xposed_Framework_onto_Android_8081_Oreo


2.适用于 Android 8.0-10.0 的Xposed框架

Xposed官方版本的框架停留在这个版本已经两年半了,之后估计也已经希望不大,因此对于类AOSP原生的ROM,仍然推荐使用官方的v90-beta3版本,可以通过Xposed installer自动安装,毕竟根据我自己的使用体验来讲还算是比较稳定,但对于MIUI类的ROM仍然无法使用。


方式一:VirtualXposed

当然从此时开始,我们要使用Xposed框架版本就脱离不了非官方版本了,最早出现的叫做[Virtual Xposed],(https://github.com/android-hacker/VirtualXposed/releases).实际就是一个虚拟机其中带了xposed,然后将要hook的应用也安装到虚拟机中

 

目前Virtual Xposed框架已经更新到了0.20.2版本,支持Android 5.0 ~Android 10.0系统,优点是不需要root权限,缺点是必须要在Virtual Xposed创建APP,并在其中使用,没有原版Xposed方便。

 

参考连接:https://zhuanlan.zhihu.com/p/37248451

 

下载连接:https://github.com/android-hacker/VirtualXposed/releases


方式二:magisk+Edxposed

再后来又衍生出了Edxposed支持Android 8.0~10.0 能够完全实现Xposed框架的相关功能。并且和rove89的官方Xposed一样,是不需要虚拟机直接安装在系统中的。

 

magisk+Edxposed实践:https://blog.csdn.net/ysy950803/article/details/107118656
magisk模块+xposed插件(模块)资源
https://www.magisk.cool/magiskmokuai

 

magisk介绍

 

简单来说,它主要有两个重大功能:

  • ①ROOT权限获取和管理
    比如我们的/system/xbin中没有su,我们可以通过刷入相应的模块,在系统启动初期,将su映射到/system/xbin下来获取root
  • ②挂载功能多样的各种扩展模块如大家所熟知的替换系统字体、指纹特效、开机动画等等。。

介绍文章

1
2
- https://medium.com/gliker/%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E9%A3%9F%E7%94%A8-magisk-%E7%AC%AC%E4%B8%80%E5%BC%B9-9c264598820d
- https://sspai.com/post/53809

资源准备


方式三:太极.magisk

1.magisk原理及与xposed的区别:
  • 的确,二者的工作机制都是「拦截」。Xposed 通过劫持 Android 系统的 zygote 进程来加载自定义功能,这就像是半路截杀,在应用运行之前就已经将我们需要的自定义内容强加在了系统进程当中。

  • Magisk 则另辟蹊径,通过挂载一个与系统文件相隔离的文件系统来加载自定义内容,为系统分区打开了一个通往平行世界的入口,所有改动在那个世界(Magisk 分区)里发生,在必要的时候却又可以被认为是(从系统分区的角度而言)没有发生过。(原文连接:https://sspai.com/post/53043)
    image

太极是一个能够运行 Xposed 模块的框架,模块能通过它改变系统和应用的行为。太极既能以传统的 Root/刷机方式运作,也能免 Root/ 免刷机运行;并且它支持 Android 5.0 ~ 11。
简单来说,太极就是一个 类 Xposed框架,它能够加载 Xposed 模块、修改系统和 APP、拦截方法,执行 hook 逻辑等。

 

虽然太极是一个 类 Xposed 框架,但是它本身与 Xposed 没有任何关系。唯一有点关系的可能是太极能够兼容 Xposed 模块,除此之外,二者从设计思路、实现机制到运作逻辑完全不同。

  • 与 Xposed 框架 特性区别
    与 rovo89 的 Xposed 相比,太极·Magisk 又有什么特点?

    • 太极·Magisk 支持 Android 5.0 到最新的 Android 11。
    • 太极·Magisk 不影响全局。可以只对特定的应用开启 Xposed 功能,无需使用 Xposed 的 APP
    • 运行起来就跟系统没有 Xposed 一样;完美契合某些金融/银行类 APP。
    • 太极·Magisk 针对 APP 的模块,无需重启即刻生效
    • 太极·Magisk 更不易被检测。太极的弱侵入特性不再修改 运行时,也不在全局环境中留下任何踪影;因此只要想要做到,可以轻松逃过各种代码类型的检测。
2.太极Magisk模式(Magisk模块)

来自作者的一些话:

  • 太极·Magisk 版针对会刷机的用户,如果你不喜欢折腾,请不要刷机,直接使用普通版即可;你依然可以使用常用的 Xposed 模块。并且,太极·Magisk 版和普通版安装包完全一致,后续统一维护。
  • 我本人针对 9.0系统做了较多的测试,8.0的系统仅做过简单测试。8.0以下的系统压根没有测试;因此,如无必要,8.0以下系统的用户无需尝试。9.0以下系统的用户,如果能刷Xposed,也不建议使用。

太极的免 Root 模式虽然无需解锁 Bootloader,使用起来异常方便,但是有一些缺点比如无法修改系统、必须卸载原有 APP。因此我开发了一个magisk 模块,这个模块可以通过 Magisk 赋予太极更强大的功能;从而突破免 Root 模式的种种限制。

 

当你刷入太极提供的 Magisk 模块 之后,太极 APP 会自动从 免 Root 模式切换到 Magisk 模式:太极 APP + 太极 Magisk 模块 = 太极·Magisk。当 太极的 magisk 模块被禁用或者卸载之后,太极会自动回到 免 Root 模式运行。

 

如果你需要使用 Magisk 模式,请仔细阅读 太极·阳使用说明。

  • 太极·虚拟框架
  • 一句话简介:免解锁,免Root,就能使用Xposed框架
    一个可以免 Root 运行的类 Xposed 框架
  • 资料
    • 官网:
      • https://www.taichi-app.com/
      • https://taichi.cool/zh/
    • 文档
      • https://taichi.cool/zh/doc/
  • 下载
    • https://taichi.cool/zh/download.html
  • 模块下载
    • 太极官网-太极app,开启全新的XPOSED模块使用体验
      • https://www.taichi-app.com/#/download/alipay

#####3.三种magisk安装方法:

 

安装magisk前要安装magisk manager?(https://magiskmanager.com/)

 

按顺序所需安装内容:

 

MagiskManager-v7.1.1.apk

 

Magisk-v19.0.zip

 

Magisk-uninstaller-20190328.zip - 这个是备用的卸载文件,如果安装失败无法开机,需要刷入这个

 

三种安装方法

 

直接安装

 

由于MIUI开发版自带Root权限,只要在酷安/Github下载Magisk Manager,赋予其Root权限,打开Magisk Manager首页-》安装-》直接安装即可。说明:这项只会出现在拥有Root权限的手机,但是即使一开始就有Root权限,也不推荐这种安装方法,因为成功安装后并不能隐藏Magisk内置的Root权限,会造成basicIntegrity检测失败。

 

下载安装包(推荐方法)

 

打开Magisk Manager在首页-》安装-》仅下载安装包/或在Github下载Magisk安装包并传入手机目录,命令行执行adb reboot bootloader进入手机的Fastboot/Bootloader模式,继续执行fastboot boot TWRP.img,刷入临时TWRP(第三方rec),手机会自动重启到TWRP中,首页-》安装-》找到Magisk安装包点击-》直接右滑底部的滑动条-》重启,打开手机里Magisk Manager即可看到安装成功啦。

 

修补镜像文件

 

在不具备解锁的手机上安装,需要提取手机系统安装包中的boot.img固件,并通过Magisk Manager中,首页-》安装-》修补镜像文件,选择这个boot.img,生成新的镜像后发给电脑,Windows命令行执行adb reboot bootloader进入手机的Fastboot/Bootloader模式,执行fastboot boot Patchedboot.img,来加载生成后的boot分区文件获取临时的Root权限,,此时打开Magisk Manager会提示已经安装,此时别高兴得太早,还得在首页-》安装-》直接安装,才能将临时Root转换成永久Root。

3.刷SuperSU、magisk需要的步骤:

  • 1.解锁oem(刷第三方recovery必须解锁)
  • 2.刷第三方recovery,比如TWRP.
    • 1.adb reboot bootloader进入bootloader
    • 2.fastboot devices - 查看设备是否连接ok
    • 3.fastboot flash recovery twrp.img - 刷入第三方recovery
  • 3.刷入SuperSU或者magisk模块的.zip文件
    • 1.拷贝.zip文件到twrp能访问的目录,比如sdcard/downloads
    • 2.adb reboot bootloader - 进入bootloader
    • 3.选择recovery mode 进入twrp界面
    • 4.点击install,选择.zip文件,不要勾选滑动滑动框进行安装。
  • 4.刷xposed

    • 把下载的文件复制进手机去:
      xposed-v90-sdk26-arm64-beta3.zip
      XposedInstaller_3.1.5.apk

    • 手机关机,按住【开机键】+【音量减】,按音量键进入Recovery mode,电源键确认(或命令行adb reboot bootloader 然后选择recovery mode)。

    • 进入twrp recovery-> 选择Install,选中刚刚复制进去的xposed-v90-sdk26-arm64-beta3.zip文件,拖动三个箭头的图标
      完成后选择 reboot system,选择do not install重启系统
      重启会停在开机动画15分钟左右就会进入系统了。
    • 进入系统在安装XposedInstaller_3.1.5.apk,此时xposed就安装完成了。

4.附:

  • 刷入Xposed Framework然后进入系统在 Xposed Installer 里面发现报错
    Xposed framework version xx is installed, but not active. Please check logs for details.
    Xposed Installer 的 log 里面提示的是关于 /data/data/de.robv.android.xposed.installer/conf 的权限 error……
    解决办法:使用 RE 管理器进入 /data/data/de.robv.android.xposed.installer/conf 将里面的 modules.list,我进去后发现没整个文件,就把cache目录删除了 删除,重启手机发现ok了。(思路来自 https://en.miui.com/…1.html)

  • 解决了上面的问题后,打开手机上的xposed installer,发现现实已经active,但是黄色字体提示:Could not load available ZIP files.Pull down to try again.

解决办法:联网,下拉刷新一下就ok。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2020-12-11 16:28 被koozxcv编辑 ,原因: 添加内容
收藏
点赞2
打赏
分享
最新回复 (1)
雪    币: 2063
活跃值: (3823)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lhxdiao 2020-12-11 17:58
2
0
https://github.com/lianglixin/SandVXposed/releases
游客
登录 | 注册 方可回帖
返回