基于Shamiko的隐藏Root方法
前言
部分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模块,下面介绍操作方法。