手机: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进行安装,我已经试过了,安装之后重启,用户证书就全部移动到系统证书里了
文章来源:https://www.toymoban.com/news/detail-781037.html
安装包:
BypassCertLimit
FoxMmm-0.5.4.apk
movecert-1.9文章来源地址https://www.toymoban.com/news/detail-781037.html
到了这里,关于Android12 HttpCanary系统证书安装 Magisk模块movecert的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!