使⽤charls抓包⼩程序的解决⽅案(终极解决,各种坑不
怕,亲测可⽤,不服来战!)
第⼀步:使⽤charles进⾏https抓包
使⽤charles进⾏https抓包
使⽤Charles进⾏HTTPS抓包(包括安装信任证书以及抓包出现⽆法抓包unknown和证书⽆效解决⽅案)
因为⼩程序都是https的请求,所以必须要能解析https,要解析https,就要证书
最近很多同⾏使⽤第⼀步所说的配置之后,发现获取的https响应数据依然是乱码。所以,请进⾏第⼆步设置。
第⼆步:Android 7.0 之后抓包 unknown 和证书⽆效的解决⽅案(⽆需改代码)
其中那个把⽤户证书改成系统证书的命令太风骚了,我忍不住要记下来:
系统证书⽬录:/system/etc/security/cacerts/
其中的每个证书的命名规则如下:
<Certificate_Hash>.<Number>
unknown怎么处理⽂件名是⼀个Hash值,⽽后缀是⼀个数字。
⽂件名可以⽤下⾯的命令计算出来:
openssl x509 -subject_hash_old -in <Certificate_File>
这个<Certificate_File> 就是你下载的证书的名字,你计算出hash值以后,就把原来证书的名字,就是这个<Certificate_File>,改成hash值点Number的格式(<Certificate_Hash>.<Number>的格式)
后缀名的数字是为了防⽌⽂件名冲突的,⽐如如果两个证书算出的Hash值是⼀样的话,那么⼀个证书的后缀名数字可以设置成0,⽽另⼀个证书的后缀名数字可以设置成1
操作步骤:
将抓包软件的证书⽤上述命令计算出 Hash 值,将其改名并复制到系统证书⽬录
此时你应该可以在设置->安全->加密与凭据->信任的凭据的系统标签页看到你新加⼊的证书,将其启
⽤即可顺利抓包
到这⾥了,其实还有个问题,⽤⾃⼰的⼿机去root,肯定不划算,如果⼿边苹果机也不好的话,是不是就搞不成了?
那也不是,办法总⽐困难多。
这⾥可以选择使⽤《》来代替⼿机,话说夜神模拟器还真的是不错,默认安装好就已经是root了的。
你可以把证书⽂件下载到你电脑上,然后⽤上⾯说的那个命令计算出hash值(如果是windows,没法使⽤那个openssl命令,可以装⼀个Git bash,就可以⽤了),
然后把证书⽂件拖到夜神模拟器⾥,此时⽂件会在夜神的⼀个⾮系统⽂件夹⾥,但我们是需要把它搞到系统证书⽂件夹⾥去的,夜神⼜没有移动⽂件的办法,怎么办呢?
活⼈不可能被尿憋死,不能移我就新建⼀个嘛,反正只要这个证书串还是那个串就好了嘛。
所以,打开拖到夜神模拟器⾥的那个证书⽂件,复制⾥⾯的证书串,然后到系统证书⽂件夹(也就是/system/etc/security/cacerts/路径下)新建⼀个⽂件,改名称计算出来的那个hash串点Number即可。
到这⾥了,必须要删除你之前⽤户模式下装的CA证书,你才能看到你刚才新建的系统CA在信任凭据列表⾥了。
然后你还要把charles关掉,把夜神关掉,重启电脑,然后再把charles的 ssl proxy settings 设置为域名* 端⼝*才⾏。不设还是会乱码。
⾄此,才⼤⼯告成。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论