0


Android12 HttpCanary系统证书安装 Magisk模块movecert

手机:pixel 6
系统:Android 12

HttpCanary高级版

想要无限制使用高级功能的可以参照我的这篇文章实战 逆向最新黄鸟抓包软件

HttpCanary证书的安装

之前我一直使用的Android 8,证书可以直接通过HttpCanary安装,但Android 12系统好像不可以了,提示信息如下:

在这里插入图片描述

分析了以下安卓的源码,在com.android.certinstaller.CredentialHelper类下的hasOnlyVpnAndAppsTrustAnchors方法是限制的证书安装的关键方法,源码如下:

在这里插入图片描述
如果这个证书用于应用和VPN则返回true,因此只要hook它让其永远返回false就绕过了CA证书安装的限制,我根据此原理写了一个名叫BypassCertLimit的Xposed模块,链接在文末

我手机安装的是LSPosed,其使用步骤如下:

首先激活该模块
在这里插入图片描述
然后点击该模块进入目标软件的选择,点击右上方的三个点,再点击隐藏

在这里插入图片描述
取消系统应用的选择
在这里插入图片描述
然后搜索cert,找到证书安装程序并选择
在这里插入图片描述
最后强制停止HttpCanary让该模块生效,之后就能正常安装CA证书了,如图:
在这里插入图片描述

至此证书已经安装在了用户凭据中了,但安卓7.0以后,安卓不信任用户安装的证书,所以抓https时无法解码请求,对于第三方应用,需要将证书添加为系统证书

那么如何添加呢?其核心步骤就是把证书移动到/system/etc/security/cacerts/路径下,这就需要重新挂载/system为可读可写,可是android 12不允许挂载该目录的,root用户也不可以,解决方案见下文。

把用户凭据移动至系统凭据

该解决方法采用了Magisk模块,我安装的Magisk版本为v25.1,这个版本已经不支持在线安装模块了,因此我使用了FoxMagiskModuleManager进行了替代,链接:https://github.com/Fox2Code/FoxMagiskModuleManager

移动证书的模块是movecert,链接:https://github.com/Magisk-Modules-Repo/movecert,下载zip包后移动到/sdcard/Download路径下,使用FoxMagiskModuleManager从本地进行安装,这个模块不能直接通过Magisk进行安装,我已经试过了,安装之后重启,用户证书就全部移动到系统证书里了

在这里插入图片描述


安装包:
BypassCertLimit
FoxMmm-0.5.4.apk
movecert-1.9

标签: android 安全

本文转载自: https://blog.csdn.net/weixin_56039202/article/details/125794003
版权归原作者 马到成功~ 所有, 如有侵权,请联系我们删除。

“Android12 HttpCanary系统证书安装 Magisk模块movecert”的评论:

还没有评论