andorid jar/库源码解析之Android7.0+ charles抓包
Android7.0+ charles抓包:
作用:
由于系统原因,某些app在,android高版本已经不能通过用户证书抓包了,这个时候,就需要用到系统证书。
栗子:
1、Charles保存证书 Help->SSL Proxing->Save.... 保存pem证书
2、查看手机 adb shell -> su -> cd /system/etc/security/cacerts/ -> ls -l
2.1、可以看到所有的系统证书格式都是 XXXXXXX.0 ( hash.0)的格式。所以需要处理pem格式证书
2.2、处理方式如下,我是在linux下面执行的,命令
openssl x509 -inform PEM -subject_hash_old -in cacert.pem |head -1
mv cacert.pem <hash>.0
转换 pem,同时得到hash值,然后得到证书文件 hash.0
2、adb push hash.0文件到手机(这里的hash是否个字符串,不是hash文本)
3、挂载读写 mount -o rw,remount /system,然后拷贝 hash.0到系统目录下( /system/etc/security/cacerts/)
4、可以抓包了(可能需要重启)
源码解读:
源码:
引入:
RT