原理:

讲用户的证书移动到系统正式才能被正确地识别

系统证书路径 :/etc/security/cacerts

用户证书路径: /data/misc/user/0/cacerts-added

由于这些目录只有只读权限,所以无法直接移动

打开magisk输入Move Certificates模块即可

image-20231026133720642

刷完之后,就可以看到在用户没有包了,那就是被传到了系统里,就可以直接使用了

抓到包是unknown,ε=(´ο`*)))唉出问题了,证书还是没配好,手机端应该没问题,大概率是电脑的问题了

image-20231026135813946

那就大胆一下,重新装一下证书

重装证书

在charles里:help -> SSL proxying -> save charles root certificate 然后把证书保存到桌面上,起一个自己的名字

用adb shell 进入 /sdcard目录下 ls一下查看文件,没有找到

image-20231026142109567

所以就不删除了,如果有pem文件,就要rm -rf 给pom文件删除掉

然后在win端把自己生成的pom文件adb push到安卓手机里,然后在安卓手机上安装证书然后我这里就是显示在用户有证书

image-20231026160344282

这是不可以的,还是一样

用Move Certificates模块传一下,这里需要把之前的模块移除,然后再安装证书,再抓包试试

image-20231026162239507

只能说是成功看一半,只抓到了http的包,没抓到https的包,离谱,那没法,只能继续csdn学习了

问题解决:抓不到https包:

大概是因为没有配置端口,所以就,配置一下https的证书和端口:

菜单栏 Help -> SSL Proxying -> Install Charles Root Certificate 安装证书

image-20231026163229552

菜单栏 Proxy -> SSL Proxying Settings 打开 SSL Proxying Settings配置面板,

image-20231026163701360

设置好端口后,完成!成功抓到了https包!

image-20231026164025206

这样的话证书的就配置的差不多了,之后也写一下抓包的原理。

另外其实还有一个app也可以实现相应的抓包功能,叫HttpCanary,这是一个安卓端的抓包工具,相比于charles和SocksDroid组合,更方便,可以还不仅仅抓http和https的包,还可以抓socket的包,很好用!

推一个csdn链接:

小黄鸟(HTTPCanary)安装及Android高版本CA证书配置