跳到主要内容

基于Shamiko的隐藏Root方法

· 阅读需 3 分钟

前言

部分APP会在运行时检测设备是否安全,例如设备是否已Root。当APP检测到系统不安全时,可能会弹窗警告,甚至会直接退出。这使得我们可能无法对APP进行抓包分析等,影响风控对抗的进展。

为此,需要采取一些手段来绕过APP的Root检测。由于定制Android源码成本非常高,所以,尽量使用简单的方法能绕过APP的Root检测即可。基于Magisk的隐藏Root是常见的绕过方式,其操作简单便于使用。

Magisk简介

Magisk(面具)是安卓手机在Root后一般会安装的软件,可以安装一些模块来实现扩展功能。其中最有名的模块是Riru,它可以让其它模块注入Zygote进程。

在Magisk 23及之前版本,可以通过Magisk Hide来进行Root隐藏。不过在Magisk 24之后便移除了该功能,但仍然可以使用Riru-MomoHider来实现Root隐藏。

不过,Riru在今年2月份停止了更新,取而代之的是Zygisk。因此,在安装了Zygisk的情况下无需安装Riru。同时,Riru-MomoHider由于被滥用,开发者转而开发基于Zygisk的Shamiko模块。

Zygisk是Magisk自带的功能,可以启用,如果遵守排除列表,Magisk将会撤销修改,这样虽可以隐藏Root但是会导致LSPosed模块失效,而HTTPS抓包依赖TrustMeAlready模块以解除SSL pinning,可能会导致无法抓包。

要在启用Zygisk的情况下使用Root隐藏,便可以使用Shamiko模块,下面介绍操作方法。

操作方法

打开Magisk,点主页右上角的设置按钮,找到Magisk部分。

image

1、将Zygisk的开关打开以启用Zygisk

2、打开遵守排除列表(这一步的作用是让配置排除列表生效)

3、点击配置排除列表,将需要隐藏Root的APP勾选

4、重启手机

5、关闭遵守排除列表(这一步的作用是让Shamiko模块接管Root隐藏)

参考文档