使用charls抓包微信小程序的解决方案(终极解决,各种坑不怕,亲测可用,不服来战!)
第一步:使用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抓包微信小程序的解决方案(终极解决,各种坑不怕,亲测可用,不服来战!)的更多相关文章
- mitrproxy抓包微信小程序
mitmproxy mitmproxy is a set of tools that provide an interactive, SSL/TLS-capable intercepting prox ...
- 《吐血整理》高级系列教程-吃透Fiddler抓包教程(34)-Fiddler如何抓取微信小程序的包-上篇
1.简介 有些小伙伴或者是童鞋们说小程序抓不到包,该怎么办了???其实苹果手机如果按照宏哥前边的抓取APP包的设置方式设置好了,应该可以轻松就抓到包了.那么安卓手机小程序就比较困难,不是那么友好了.所 ...
- 微信小程序云端解决方案探索之路 - GITC 主题演讲
转自:https://github.com/tencentyun/blog/issues/1 在刚结束的全球互联网技术大会(GITC)里面,我在前端专场给大家分享了「微信小程序云端解决方案探索之路」, ...
- 小程序:位置信息(Location)及微信小程序LBS解决方案实践
目前在做的小程序需要使用到map组件以及小程序个性地图,涉及到的功能如下: 1# 获取用户当前位置,返回对应的省市区 2# 根据目的地的具体地址,显示在地图中的位置 3# 根据用户当前位置,计算出 与 ...
- 微信小程序中scroll-view的几个坑
微信小程序中scroll-view的几个坑 1:设置scroll-x时,却不能横向滚动,因为view是block组件,但是这里用了flex就不能滚动了(想用flex布局,请开启属性enable-fle ...
- 如何抓取微信小程序的源码?
一.引言: 在工作中我们会想把别人的代码直接拿过来进行参考,当然这个更多的是前端代码的进行获取. 那么微信小程序的代码怎么样获取呢? 参考 https://blog.csdn.net/qq_4113 ...
- 微信小程序后台springboot+mybatis+mysql“采坑”集锦
"采坑"错误集锦 1.service层 错误描述:2019-04-14 22:09:52.027 ERROR 8416 --- [nio-8082-exec-5] o.a.c.c. ...
- 微信小程序使用weui扩展组件踩坑
最近在做微信小程序,引入weui的时候踩坑了好久,这里记录一下遇到的问题. 微信官方文档给了两种weui引入方式: 通过 useExtendedLib 扩展库 的方式引入,这种方式引入的组件将不会计入 ...
- 0.1+0.2不等于0.3,微信小程序云开发如何解决JavaScript小数计算精度失准的问题
先看图 这个是JavaScript语言自身存在的一个问题.说道这里不得不提一下网上流传的JavaScript搞笑图 我们在使用云开发来开发微信小程序的时候,会经常遇到JavaScript小数计算精度失 ...
随机推荐
- mysql重启遇到的问题
不知道是不是每次更新 MySQL 软件之后都需要执行数据库升级指令?在我进行过的几次软件升级之后,总会在 MySQL 的日志中见到 “[ERROR] Missing system table mysq ...
- KdTree && Octree 原理学习对比以及可视化分析--"索引树"
1. Kdtree 原理 k-d树(k-dimensional树的简称),是一种分割k维数据空间的数据结构.主要应用于多维空间关键数据的搜索(如:范围搜索和最近邻搜索): 索引结构中相似性查询有两种基 ...
- 个人永久性免费-Excel催化剂功能第66波-数据快速录入,预定义引用数据逐字提示
在前面好几波的功能中,为数据录入的规范性做了很大的改进,数据录入乃是数据应用之根,没有完整.干净的数据源,再往下游的所有数据应用场景都是空话.在目前IT化进程推进了20多年的现状,是否还仍有必要在Ex ...
- Spring管理事物两种方式
Spring管理事物两种方式 1. 编程式事物管理(在开发中不经常使用) 使用步骤 1. 配置数据库事物管理 DataSourceTransactionManager <!--配置事物管理器-- ...
- 聊聊面试中的 Java 线程池
背景 关于 Java 的线程池我想大家肯定不会陌生,在工作中或者自己平时的学习中多多少少都会用到,那你真的有了解过底层的实现原理吗?还是说只停留在用的阶段呢?而且关于 Java 线程池也是在面试中的 ...
- vs2013类模板的修改
很多人一起写程序,往往都有规定的代码模板,比如要求每个类都有注释,说明开发者是谁,类的功能以及其他信息.如果每次建一个类,手工去复制这些信息很麻烦,也很容易遗漏.我们可以直接修改VS2013创建类的时 ...
- 小白学python-day01-电脑结构知识
作为一个”0“基础的经济学学士来说,专业分类选择了经统,多多少少和计算机有点关系,从今天开始学习python. 但行努力,莫问前程. day01学习电脑结构等知识. 因为这些知识是 有规则的,客观的文 ...
- python3键盘输入
1.脚本 # -*- coding: utf-8 -*- print("今年是哪一年?"),year = input("年份:")print ("ji ...
- 【iOS】删除 main.storyboard 的问题
一直没用 main.storyboard, 后来索性把它删了,结果还出了问题: Terminating app due to uncaught exception 'NSInvalidArgument ...
- codeforces 371A K-Periodic Array
很简单,就是找第i位.i+k位.i+2*k位...........i+m*k位有多少个数字,计算出每个数出现的次数,找到出现最多的数,那么K-Periodic的第K位数肯定是这个了.这样的话需要替换的 ...