跳到主要内容

2 篇博文 含有标签「信息安全」

查看所有标签

基于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模块,下面介绍操作方法。

Charles抓包App的HTTPS请求并解决SSL Pinning

· 阅读需 4 分钟

随着移动互联网的普及,App也变得泛滥。不过,App没有像电脑浏览器那样方便的开发者工具,这不利于我们去分析网络请求,进而编写爬虫之类的东西。不过,这个问题也并非没法解决,可以利用中间人攻击的方式,由电脑代理来自手机的流量,这样就可以获取到手机的网络请求了。

设置代理

首先,手机与电脑需连接同一网络,然后在手机WiFi的高级选项里设置代理为手动,并填写主机名为电脑的IP地址,端口为8888(Charles的默认值)。

屏幕快照 2020-06-14 16.00.59.png