第一步:使用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. python 面向对象编程 - 小游戏

    面向对象写的小游戏 欢迎玩耍 class Omnicience: camp = 'Omniscience' def __init__(self, name, atk=100, hp=1000, mp= ...

  2. Python常用的标准库以及第三方库

    Python常用的标准库以及第三方库有哪些?   20个必不可少的Python库也是基本的第三方库 读者您好.今天我将介绍20个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们 ...

  3. 多线程与高并发(五)final关键字

    final可以修饰变量,方法和类,也就是final使用范围基本涵盖了java每个地方,我们先依次学习final的基础用法,然后再研究final关键字在多线程中的语义. 一.变量 变量,可以分为成员变量 ...

  4. 使用nginx+tomcat实现动静分离

    动态资源与静态资源的区别 微微的概括一下 静态资源: 当用户多次访问这个资源,资源的源代码永远不会改变的资源. 动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变. 什么是动静分离 动静分离 ...

  5. python函数基础-参数-返回值-注释-01

    什么是函数 函数就是有特定功能的工具 # python中有内置函数(python解释器预先封装好的)与自定义函数(用户自定义封装的)之分 为什么要用函数 # 可以减少代码冗余,增加代码复用性 # 使代 ...

  6. 【Java中级】(二)集合框架

    2.1.ArraList 1.自增长 容器的容量"capacity"会随着对象的增加,自动增长 只需要不断往容器里增加英雄即可,不用担心会出现数组的边界问题. 2.常用方法 关键字 ...

  7. c++语言常用转义序列符号

    \a      响铃 \n      换行符 \r       回车符 t        水平制表符(Tab键) \b      退格符(BackSpace键) \\       反斜线 \'     ...

  8. string的学习

    原:https://blog.csdn.net/qq_37941471/article/details/82107077 一. string的构造函数的形式: string str:生成空字符串 st ...

  9. .net持续集成sonarqube篇之 sonarqube与jenkins集成(命令模式)

    系列目录 Sonarqube结合Jenkins与常见问题 我们引入sonarqube组件的最终目的是要为整个Ci环境服务的,如果不能集成于当前的Jenkins CI,那么我们做的很多关于sonarqu ...

  10. python3 读取文件-2

    1.脚本 from sys import argv script,filename = argv#以读的模式打开txt文件txt = open(filename,'r+')print ("t ...