第一步:使用charles进行https抓包

https://www.jianshu.com/p/7a88617ce80b   使用charles进行https抓包

使用Charles进行HTTPS抓包(包括安装信任证书以及抓包 出现无法抓包unknown和证书无效解决方案)

因为微信小程序都是https的请求,所以必须要能解析https,要解析https,就要证书

最近很多同行使用第一步所说的配置之后,发现获取的https响应数据依然是乱码。所以,请进行第二步设置。

第二步:Android 7.0 之后抓包 unknown 和证书无效的解决方案(无需改代码)

https://blog.csdn.net/ShadowySpirits/article/details/79756274

其中那个把用户证书改成系统证书的命令太风骚了,我忍不住要记下来:

系统证书目录:/system/etc/security/cacerts/

其中的每个证书的命名规则如下:
<Certificate_Hash>.<Number>
文件名是一个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  设置为 域名* 端口*才行。不设还是会乱码。

至此,才大工告成。

————————————————
版权声明:本文为CSDN博主「ShadowySpirits」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ShadowySpirits/article/details/79756274

使用charls抓包微信小程序的解决方案(终极解决,各种坑不怕,亲测可用,不服来战!)的更多相关文章

  1. mitrproxy抓包微信小程序

    mitmproxy mitmproxy is a set of tools that provide an interactive, SSL/TLS-capable intercepting prox ...

  2. 《吐血整理》高级系列教程-吃透Fiddler抓包教程(34)-Fiddler如何抓取微信小程序的包-上篇

    1.简介 有些小伙伴或者是童鞋们说小程序抓不到包,该怎么办了???其实苹果手机如果按照宏哥前边的抓取APP包的设置方式设置好了,应该可以轻松就抓到包了.那么安卓手机小程序就比较困难,不是那么友好了.所 ...

  3. 微信小程序云端解决方案探索之路 - GITC 主题演讲

    转自:https://github.com/tencentyun/blog/issues/1 在刚结束的全球互联网技术大会(GITC)里面,我在前端专场给大家分享了「微信小程序云端解决方案探索之路」, ...

  4. 小程序:位置信息(Location)及微信小程序LBS解决方案实践

    目前在做的小程序需要使用到map组件以及小程序个性地图,涉及到的功能如下: 1# 获取用户当前位置,返回对应的省市区 2# 根据目的地的具体地址,显示在地图中的位置 3# 根据用户当前位置,计算出 与 ...

  5. 微信小程序中scroll-view的几个坑

    微信小程序中scroll-view的几个坑 1:设置scroll-x时,却不能横向滚动,因为view是block组件,但是这里用了flex就不能滚动了(想用flex布局,请开启属性enable-fle ...

  6. 如何抓取微信小程序的源码?

    一.引言: 在工作中我们会想把别人的代码直接拿过来进行参考,当然这个更多的是前端代码的进行获取. 那么微信小程序的代码怎么样获取呢?  参考 https://blog.csdn.net/qq_4113 ...

  7. 微信小程序后台springboot+mybatis+mysql“采坑”集锦

    "采坑"错误集锦 1.service层 错误描述:2019-04-14 22:09:52.027 ERROR 8416 --- [nio-8082-exec-5] o.a.c.c. ...

  8. 微信小程序使用weui扩展组件踩坑

    最近在做微信小程序,引入weui的时候踩坑了好久,这里记录一下遇到的问题. 微信官方文档给了两种weui引入方式: 通过 useExtendedLib 扩展库 的方式引入,这种方式引入的组件将不会计入 ...

  9. 0.1+0.2不等于0.3,微信小程序云开发如何解决JavaScript小数计算精度失准的问题

    先看图 这个是JavaScript语言自身存在的一个问题.说道这里不得不提一下网上流传的JavaScript搞笑图 我们在使用云开发来开发微信小程序的时候,会经常遇到JavaScript小数计算精度失 ...

随机推荐

  1. Spring 注解编程之 AnnotationMetadata

    在上篇文章 Spring 注解编程之模式注解 中我们讲到 Spring 模式注解底层原理,依靠 AnnotationMetadata 接口判断是否存在指定元注解. 这篇文章我们主要深入 Annotat ...

  2. 个人永久性免费-Excel催化剂功能第52波-相同内容批量合并单元格,取消合并单元格并填充内容

    在高级Excel用户群体中无比痛恨的合并单元格,在现实的表格中却阴魂不散的纠缠不断.今天Excel催化剂也来成为“帮凶”,制造更多的合并单元格.虽然开发出此功能,请使用过程中务必要保持节制,在可以称为 ...

  3. Netty中的策略者模式

    策略者模式的特点 在设计类的继承体系时,我们会刻意的把公共的部分都提取到基类中 比如先设计Person类,把人类都具有的行为放到这个Person,特有的行为设计成抽象方法,让子类具体去实现, 这样后续 ...

  4. 用框架名唬人谁都会,那你知道Web开发模式吗?——莫问前程莫装逼

    前言:这两天总结了一些Servlet和JSP里面的知识,写了几篇博客,果然有种“温故而知新”的感觉,学完这些,继续前行,开始整合框架里的知识,框架虽好,可底层原理该掌握的也得掌握,防止以后做项目的时候 ...

  5. 201809-2买菜 ccf

    只得了90分,很奇怪,有大佬指导一下吗 #include<stdio.h> int main() { ,sum=; scanf("%d",&n); *n],b[ ...

  6. Mybatis连接查询返回类型问题

    一对一映射 public class Card { private Integer id; private String num; private Student student; //重要 publ ...

  7. ansible-yum

    #yum 需要在vim /etc/ansible/hosts里面给执行的主机配置 远程调用python的路径不知道为什么默认值认识python2.6.6 vim /etc/ansible/hosts ...

  8. JSON在线格式化 jsoneditor使用

    const placeholder = { string: 'hello world!', boolean: true, color: '#6c928c', number: 123, null: nu ...

  9. 关于AJAX的跨域问题

    最近过年的这几天在做毕业设计的时候遇到了一个关于AJAX的跨域问题,本来我是想要用一下聚合数据平台提供的天气预报的接口的,然后做一个当地的天气情况展示,但是在使用AJAX的时候,被告知出现错误了. 这 ...

  10. spring cloud stream 经验总结

    ---恢复内容开始--- 基本概念 spring: cloud: stream: kafka: binder: brokers: cloudTest:19092 zk-nodes: cloudTest ...