一加8T(Android 11)安装Magisk获取Root并屏蔽检测、安装Edxposed、过SafetyNet等折腾之旅

@xuing  December 12, 2020

新买的一加8T到手了,趁着没什么数据,当然要折腾起来了。


本文,介绍了一加8T(或许可通用于Android11)

  • 氢氧OS互刷,安装Play Store(包含解锁bl,降级)
  • 安装Magisk框架获取Root(获取boot.img,打patch,刷入boot分区)
  • 开启Magisk Hide,开启随机包名 以达到防检测目的(遇到个小坑)
  • 安装Edxposed,并过SafetyNet(似乎是用来下载特定软件,如GooglePay、Netflix等)
  • 通过XPrivacyLua屏蔽su检测或对话框取消模块等(不能保证绝对成功)。
  • OTA升级后,如何保持Magisk框架还在。
  • 其他(Magisk Lite、存储空间隔离、美好世界FD带来的启示、致谢等)

氢氧互刷,降级问题

国行版的一加手机,当然是氢OS了,如果你想要耍一耍氧OS,那你要忍住不要更新!否则就没法直接卡刷高版本氧OS,默认不允许同级或降级刷包。
建议使用氧OS,最好有软路由环境,否则感觉会很不方便。有网络问题,自挂梯子,不在下文重复了

本文建议爱折腾,有一定基础的同学看(其实作者也没什么基础hhhh),且文章会尽可能的不使用第三方工具(指一键刷机工具等)。

1. 最简单的方式 - 全量包直接升级

下载高版本的氧OS,直接系统中选择后刷入即可。
参考链接:
【原创组】OnePlus8T ROM包合集(第五版 已更新更新)
一加8T氧OS国际版全量包(不限速直连,持续更新)

2. 通过线刷救转方式

通过MsmDownloadTool 工具进行线刷,该方式还可用于救转
8T官方详细降级加救砖教程.9008降级救砖

3. BL解锁+Fastboot刷入

首先需要进行BootLoader的解锁。这步也是后面教程的必要条件

电脑下载adb、fastboot等Android SDK Platform-Tools

(可将platform-tools添加到环境变量,方便之后的使用)

3.1 解锁会恢复出厂设置,注意备份

一加的解锁还是非常非常简单的,这里给出解锁命令。如果这里不能很好理解或成功的话,建议查询一下相关用法(比如手把手教你搭建完美的 Android 搞机/逆向环境),但建议不要折腾了。

adb connnect [手机ip地址] //连接到手机
adb reboot bootloader //重启到fastboot
fastboot oem unlock //进行解锁

3.2 fastboot刷入氧OS(我没有尝试第三步,但前两步工作也是后续需要的)

参考[[GUIDE] Convert TMO to Global, EU, or other variant](https://forum.xda-developers.com/t/guide-convert-tmo-to-global-eu-or-other-variant.4188491/)

这个没有找到很好教程,只找到一个英文的类似的教TMO运营商机刷为其他类型的教程。

基本流程这里介绍一下:

  1. 解锁后,首先下载你要刷入的系统的全量OTA包(下载地址见最简单的方式那里)。
  2. 通过python的payload_dumper进行解包工作 (重要,接下来的工作也要用到他)

    使用Git clone或网页下载payload_dumper,地址:https://github.com/vm03/payload_dumper

    需要python3和pip的环境,在clone的目录下运行pip install -r requirements.txt进行包下载。

    下载下来的OTA包是zip,提取其中的payload.bin,放入payload_dumper的目录

    然后就可以使用python payload_dumper.py payload.bin进行解包操作了。output文件夹里面存放解包后的img文件。

    应该还可以看到boot.img,这个是后续刷面具的关键镜像,这里暂且不提。

  3. 将所有img一个一个进行刷入 hhh

    这个我也失败了,后面感觉也没必要氧OS了,就没继续了hhhh

    一个重点:参考刷入product、system等分区时,需要先执行fastboot reboot fastboot,看到fastbootd才可刷入。

    这个没有找到

4. 其他方式

​ 之后获取root权限后,可以在Magisk里面刷入降级模块来直接刷全量包,我这里也没做尝试,就不展开了。

安装google Play

首先登入设置中的google账号,然后https://www.huaweicentral.com/download-latest-google-play-store-application-apk/这里可以下载google play。

安装Magisk框架获取Root

1.通过刷入第三方Recovery后刷入Magisk框架

​ 就TWRP来说,暂时没有看到适配一加8T的Recovery(下文简称Rec),官方地址点这里:https://twrp.me/Devices/OnePlus/

TWRP

​ 似乎有别的Rec有做适配,我这里没做尝试,就不列举了,暂时觉得第二种方式就挺好的。

2.给Boot.img打patch以刷入Magisk框架

这种方式和我之前给Pixel Android10刷入Magisk采取了同样的方式,文章链接。(以后会想办法逐渐退出简书的)

这里做一些Copy吧。

1. 制作Boot.Img的Magisk Patch

首先在手机上安装最新版的Magisk Manager Apk。

接下来,将3.2中通过payload_dumper提取到的Boot.img 传到手机存储中。

根据网上的教程,我将Magisk Manager的设置中的更新通道选择为了测试版,并且能够成功,未尝试稳定版是否能刷入,读者可根据当时具体情况分析,可能稳定版也已经能支持了。

打开Magisk Manager,点击Magisk后方的安装按钮,选择选择并修补一个文件,弹出对话框,我们选择预先拷贝到手机上的boot.img。

稍微等待,成功后,会看到这样类似的界面(这是旧图,仅供参考,请自己仔细阅读log)。

Magisk Manager

这时候,就可以检查手机的Download文件夹下面是否已经有magisk_patched.img了。

将其拷贝到电脑上,可以拷贝到fastboot工具的同目录下。

这个文件就是安装了magisk的boot.img。也就是所谓的补丁版。我们接下来就是要把这个镜像刷入Boot分区当中。

2. 刷入Boot分区

  1. 首先进入fastboot模式。adb reboot fastboot
  2. 使用Fastboot刷入magisk_patched.img。

    fastboot flash boot magisk_patched.img

    其中magisk_patched.img替换为你文件所在的路径,如果就在FastBoot当前目录就无需更换了。

像下图(老图+1)这样就成功了。

flash boot

开启Magisk Hide,开启随机包名 以达到防检测目的

解锁并刷入Magisk获取root后,会被银行、支付宝等软件检测到,弹窗并可能限制一些功能。

可以借助Magisk Manager自带的两种屏蔽手段来达到防检测的目的。

防检测

第一个就是随机包名,将Manger的包名进行随机,防止别的程序发现。

右上角设置中可以打开。输入你想要的给Manger取的名字(随意,后面可以用快捷方式的方法创建图标),确定,过程中间可能会有卡顿。

第二个是开启Magisk Hide

也是在设置中打开后,模块中会出现一个Magisk Hide,点击进去就可以为指定app设置隐藏了。

遇到的一个坑

我这边第一次开启随机包名,都不能很好的成功,要重启等很久..之后就没这个问题了,可能是因为我提前安装了《存储空间隔离》(不确定),尽量还是安装模块前就做了以上工作吧。

设置完成后,我用的app已经不会提示检测到rooted了。

解锁后,使用Tee技术的微信的指纹支付无法开启

我暂时没有找到解决方案。一加7系列有模块可以曲线开启,我这边也是同样无法使用。

安装Edxposed,并过SafetyNet

如果不需要Edxposed,其实可以安装Magisk Lite。过检测效果更好

在Magisk里面,选择Riru进行安装。应该就是以前的Riru-core,目前我成功的版本是23.0(时效性很短,请以官方发布的最新版本为准)

然后Riru - EdXposed我一加8t,无法直接安装。这里给出一个解决办法(可能再过不久就不需要这种方式了,直接安装即可)

安装Edxposed

首先去github下载Edxposed Manager,然后右滑选择Canary版本(文章发布是最新版为v0.5.1.0_4613),进行EdXposed的下载。我这里使用的是SandHook版本,YAHFA没做测试。下载好后,进入Magisk里从本地进行安装即可。

安装好后的效果如图

Edxposed

过SafetyNet(可能是本地效果)

1.在Magisk 中安装MagiskHide Props Config,然后打开类似MT管理器之类的有终端模拟器的软件。

输入su,切换到root权限后,输入props,接着选择Edit device fingerprint,后按照提示选择自己的品牌和型号。

如图

MagiskHide Props Config

2.在Edxposed设置中,选择通过SafetyNet校验,还可以开启应用名单模式

然后就可以在Magisk里试试SafetyNet能否通过了,不过我通过了似乎还是下载不了Netflix,hhh,有人说EdXposed那个可能只是本地效果。我也不是很懂啦。通过效果如图。

SafetyNet

通过XPrivacyLua屏蔽su检测、以及对话框取消模块

XPrivacyLua(以下简称为XPL)是用来细致地管理应用权限的,如读取通话记录、联系人、剪切板这些。

然后还有一个XPrivacyLua Pro(以下简称为XPL Pro),部分功能收费,通过hook方式来保护隐私。

其中有一个云端钩子叫做ProcessBuilder.start,也可以用来屏蔽应用对su、root等的检测。

具体效果,似乎有用...但是基本上之前的做好了,用不到这个也行...我是因为之前已经被一个叫“美好世界FD”app检测到了Magisk框架,各种尝试都失败了,才用的这个,这个成功了一次...但最后发现我只要卸载重装就好了..是缓存了而已。

首先在Pro中下载

    • ProcessBuilder.start
    • Runtime.exec/array
    • Runtime.exec/array/env
    • Runtime.exec/array/env/file
    • Runtime.exec/cmd
    • Runtime.exec/cmd/env
    • Runtime.exec/cmd/env/file

    一共7个。

    2.在XPL Pro主界面中开启(勾选)Fit

    3.在XPL中将需要屏蔽检测的应用,勾选Use.shell

    4.在ProcessBuilder.start脚本中的最下方输入正则su(\s.*)?,不同的正则应该能产生不同的效果,祝你们玩得愉快hhhh,有好的玩法欢迎评论。

    对话框取消

    这个我没有成功,也是可以用来bypass检测,防止应用退出呀什么的。

    是Edxposed的一个模块。有需要可以自行了解。

    OTA升级后,如何保持Magisk框架还在

    1. 关闭所有magisk模块。
    2. 下载好新系统并安装完成后,系统会提示你是否要重启,不要重启。
    3. 打开Magisk Manager,点击Magisk后面的安装,点击“安装magisk到未使用的槽位(OTA后)”,安装完成后手动重启手机即可。

    其他

    Magisk Lite

    Magisk Lite,仅有SU功能,不提供对模块的支持。
    白名单模式的Magisk,所有应用程序默认隐藏,只有勾选的应用程序才能获得超级用户权限。

    链接https://t.me/MagiskLite

    美好世界FD

    这个游戏一直提示检测到了我的Magisk框架,最后发现做完基本隐藏,卸载重装就好了。T_T。费了好大劲。

    来一玩素晴(虽然我玩的其实是不检测的日服)

    一加双开

    一加是提供了系统级的双开功能的,但是是白名单机制,有些软件不能双开,曾有一款大侠阿木开发的一加双开助手可以绕过限制,但是一加8T实测失败。
    通过“工作资料”实现双开的炼妖壶,实测可用。

    存储空间隔离

    RikkaW大佬的作品,功能如名字,需要配合安装Riru - Enhanced mode for Storage lsolation
    具体用法功能,请看 https://sr.rikka.app/zh-hans/guide/

    致谢

    感谢一加论坛分享者和MeowCat TG群组,EdXp官方QQ群里群友的帮助。


    添加新评论

    1. 一加8T 非白名单双开目前可以使用“炼妖壶”来解决。利用工作资料来解决。

      Reply
    2. ps: 1月10日,手机被偷。hhhh

      Reply