本文章仅供学习和研究使用,严禁使用该文章内容对互联网其他应用进行非法操作,若将其用于非法目的,所造成的后果由您自行承担。

由于安卓7开始对系统安全性做了些改动,导致应用程序不再信任客户端证书,除非应用程序明确启用此功能。所以我们抓取https流量包时会出现证书失效、加密、无法访问等问题。下面记录一下解决方法。

证书信任

简单来说,就是把用户的证书导入到系统证书目录,使证书成为系统信任证书。

工具准备:

  • 模拟器
  • OpenSSL
  • adb

首先安装OpenSSL,此步骤不再赘述,可以参考网页。

图片

然后安装模拟器(我使用的是夜神模拟器)。

图片

记得开启模拟器的ROOT权限:

图片

导出需要的证书:

图片

使用openssl进行证书转换:

将cer后缀的证书转换为pem后缀

openssl x509 -inform DER -in cacer.der -out cacert.pem

查看hash(两条名字分别对应不同的openssl版本,自己选择)

openssl x509 -inform PEM -subject_hash_old -in cacert.pem
openssl x509 -inform PEM -subject_hash -in cacert.pem

图片

把文件名字改为9a5ba575.0。

证书安装

然后打开adb,夜神模拟器自带,如果没有可以自己下载一个:

图片

将证书复制到安卓目录下:

adb push C:\Users\admin\Desktop\9a5ba575.0 /sdcard/

在这里插入图片描述

进入adb shell 进入root权限,输入mount -o remount -o rw /或者mount -o remount -o rw /system。

图片

把证书复制到系统证书目录,然后赋权。

cp /sdcard/9a5ba575.0 /system/etc/security/cacerts/
chmod 644 /system/etc/security/cacerts/9a5ba575.0

图片

然后重启即可。

图片

问题解决

如果出现报错,把命令mount -o remount -o rw /替换为mount -o remount -o rw /system即可。

图片

抓包

电脑端抓微信小程序的包,首先设置电脑代理,和burp代理一致。

图片

然后微信随意打开一个小程序,打开任务管理器查看小程序的文件位置:

图片

把微信和小程序关闭,然后删除WMPFRuntime包内的所有文件。

图片

再次打开小程序即可抓到包:

图片

最后感谢每一个认真阅读我文章的人!作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,坚持几天便放弃的感受的话,在这里我给大家分享一些软件测试的学习资源,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,希望能给你前进的路上带来帮助。如果你用得到的话可以直接拿走:

软件测试资料领取:[内部资源] 想拿年薪40W+的软件测试人员,这份资料必须领取~

软件测试面试刷题工具领取:软件测试面试刷题【800道面试题+答案免费刷】

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

更多推荐