手机模拟器配置charles的ssl证书

683 阅读2分钟
  • 我们需要对手机APP进行抓包的时候经常会使用虚拟机来进行模拟抓包,要使用charles对手机进行抓包,首先就是要在手机上安装好charles签发的ssl证书,不然会一直提示证书不可信的问题。
  • 首先安装有两种方法,一种简单方法针对的是安卓7及小于7的安卓版本,原因是因为在安卓7后面的系统都不让系统级的证书直接写入了,系统级的证书只有读取的权限,所以安卓7后面的版本安装charles签发的ssl证书会复杂一些。
  1. 安卓7安装charles签发的ssl证书(这里使用的是夜神模拟器)这里我 也没有弄成功就随便说一下,因为现在更多的都是安卓12及以上的版本。

    • 1.保持手机和电脑在同一网段,同一无线网,热点。(在一个局域网里面)
    • 2.设置手机代理。

image.png

  • 3.设置手机代理。 使用在带的浏览器访问:chls.pro/ssl 就会自动下载安装.(我没有弄成功一个教学视频上是成功了)
  1. 安卓7以上要使用复杂方法: 因为安卓7及以下用户可以直接写入系统级证书,安卓7以上只能只读系统级证书,保护级别增高了。

    • 1.保存证书: 打开charles如下图所示保存证书到任意目录

image.png

image.png

  1. 改名,需要工具计算再将改名ssl证书改名

image.png

一路Next就可以安装好,也可以更改一下安装路径

image.png 安装好后在安装路径下的bin目录下可以看到一个叫openssl.exe的文件

  • 打开cmd窗口切换到保存的ssl证书所在的目录下面输入 openssl.exe地址 x509 -subject_hash_old -in lls证书名 x509 -subject_hash_old -in这几个参数固定工具地址和证书名换成自己的

D:\Job\Admin\software_page\charles_lls证书> "D:\Program Files\OpenSSL-Win64\bin\openssl.exe" x509 -subject_hash_old -in charles_lls证书.pem

就像酱紫:得到了计算出来的证书名

image-20241027155433071.png

复制得到的证书名重命名保存在文件中的证书名,后缀改为.0

image.png

  • 把lls证书文件先传到手机文件中

  • mumu模拟器可以向下图操作:

image-20241027155751759.png

  • 把证书文件复制到共享文件夹中

image-20241027160256611.png

image-20241027160428182.png

  • 把模拟器磁盘改为可写系统盘

image-20241027160706434.png

  • 点击下载小工具RE文件管理器:

image-20241027160900139.png

  • 打开小工具点击挂载为可读写

image-20241027161142298.png

  • 复制证书文件并粘贴到系统目录/system/etc/security/cacerts/目录下

image-20241027161808398.png

image-20241027161509279.png

  • 到这里手机端的ssl证书就安装好了
  • 把手机模拟器端设置代理服务器ip地址和端口就可以正常抓包了,不会再提示证书的问题

image-20241027163204900.png image-20241027163208783.png