工具:mac电脑 root手机一部
安装:Charles可以到官网下载安装,但是没破解的时候,使用30分钟就会自动退出,且貌似只能使用30天
Charles使用:
1.首先在电脑中安装根证书,启动Charles, 在顶部找到Help, 如图操作,并信任
2.配置SSL Proxying Settings。点击Proxy,点击SSL Proxying Settings,点击add添加,Host填*, Port填443。
3.手机配置
1)配置代理
Charles中点击如图
按照提示操作设置WiFi代理就行
2)如上图浏览器输入chls.pro/ssl下载安装手机证书。Android手机证书的格式是crt,如果格式是gem需要重命名修改文件格式为crt然后直接安装就行
然后愉快的抓包之路就开始了
ps:Android7.0以上可能会遇到显示unknown的状况,让人抓狂。这原因是Android7.0 之后默认不信任用户添加到系统的CA证书,也就是说对基于 SDK24 及以上的APP来说,即使你在手机上安装了抓包工具的证书也无法抓取 https 请求 。所以需要抓包软件的证书安装成系统证书(需ROOT)
操作步骤:
1.修改证书名称
系统证书目录:/system/etc/security/cacerts/
其中的每个证书的命名规则如下:
<Certificate_Hash>.
文件名是一个Hash值,而后缀是一个数字。
文件名可以用下面的命令计算出来:
openssl x509 -subject_hash_old -in <Certificate_File>
后缀名的数字是为了防止文件名冲突的,比如如果两个证书算出的Hash值是一样的话,那么一个证书的后缀名数字可以设置成0,而另一个证书的后缀名数字可以设置成1
2.复制证书到设备上
adb root
adb remount
adb push 7672ac4b.0 /sdcard/
3.复制到系统目录并修改权限
adb shell
su
mount -o rw,remount /system
mv /sdcard/.0 /system/etc/security/cacerts/
chmod 644 /system/etc/security/cacerts/7672ac4b.0
reboot
4.验证。在手机的安全中查看系统证书,看到你安装的证书就行了。Charles unknown也就没了,可以看到抓包的数据了。