1.简介有些小伙伴或者是童鞋们说小程序抓不到包 , 该怎么办了???其实苹果手机如果按照宏哥前边的抓取APP包的设置方式设置好了,应该可以轻松就抓到包了 。那么安卓手机小程序就比较困难 , 不是那么友好了 。所以今天宏哥重点说一下安卓手机小程序抓包 。
2.前言首先看下是否满足以下条件小程序无法抓包原因 :
安卓系统 7.0 以下版本,不管微信任意版本,都会信任系统提供的证书安卓系统 7.0 以上版本,微信 7.0 以下版本,微信会信任系统提供的证书安卓系统 7.0 以上版本,微信 7.0 以上版本 , 微信只信任它自己配置的证书列表微信6.6.7版本:http://dldir1.qq.com/weixin/android/weixin667android1320.apk
首先我们从上边的原因前两点可以看出都需要信任系统证书 , 因此我们都需要手机的Root权限才能将Fiddler的证书安装成系统证书,这个过程和原因宏哥在前边的文章中已经说过了,这里就不再赘述 。但是从第三点可以看出微信7.0后由于证书问题都不支持https抓包了,你也可以去微信开放社区看一下有关这个问题讨论 。
3.实战一3.1Fiddler配置1.手机和电脑要在同一个局域网中 。
2.完成fiddler的基本配置,与web端抓包一样:TOOLS-->options–>connections–>1、设置端口;2、勾选2/3/4选项:
![34 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取微信小程序的包-上篇](http://img.zhejianglong.com/231020/0010025Z9-0.png)
文章插图
3.指定代理端口,勾选指定项
![34 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取微信小程序的包-上篇](http://img.zhejianglong.com/231020/0010025Q1-1.png)
文章插图
3.2手机代理设置1.手机设置代理:
(1)设置端口与fiddler的端口保持一致:8888;2、设置IP地址与PC机的IP保持一致
![34 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取微信小程序的包-上篇](http://img.zhejianglong.com/231020/0010023Q9-2.png)
文章插图
3.3安装https证书需要那种证书,自己安装那种证书即可,但是系统证书需要Root权限安装,据听说这种好像也不靠谱容易导致微信封号,没有亲身实验过,有兴趣的可以自己试一下 。
3.3.1用户证书如果小程序或者APP端需要抓取HTTPS的请求消息,必须在手机上安装fiddle的证书,其安装步骤:
步骤一:在手机端打打开浏览器,输入网址–》http://PC的IP:fiddler的端口号
步骤二:点击超级链接:FidderRoot certificate超级链接
步骤三:点击下载的证书文件,进行安装,安装成功,就可以抓取HTTPS的消息了如果无法自动安装,安卓版本7.0以下的:则进入手机设置-》安全和隐私-》安全拼争存储-》从存储设备安装,找到下载好的证书目录,确认即可,安装完成后 , 查看信任凭证,用户证书里是否可以看到刚才的证书 。
3.3.2系统证书关于系统证书的安装:步骤可以看宏哥这篇文章 , 里边有详细的步骤 。
《吐血整理》高级系列教程-吃透Fiddler抓包教程(27)-Fiddler如何抓取Android7.0以上的Https包-中篇
3.4开始抓包然后就可以进行抓包了,抓包完成之后,需要关掉手机的代理,否则,手机无法上网 。
4.实战二既然手机微信7.0以上版本不让抓,我们换条路,从电脑上抓取小程序的包 。这种方法和抓取web端的包有点相似 。
1.打开电脑端小程序:退出微信,登录微信时设置代理,如下图所示:
![34 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取微信小程序的包-上篇](http://img.zhejianglong.com/231020/0010023Z7-3.jpg)
文章插图
2.打开微信pc版,点击左侧箭头,会弹出右侧小程序列表,如下图所示:
![34 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取微信小程序的包-上篇](http://img.zhejianglong.com/231020/0010024032-4.png)
文章插图
![34 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取微信小程序的包-上篇](http://img.zhejianglong.com/231020/0010026320-5.jpg)
文章插图
3.开始抓包,打开fidder , 选择列表内需要抓包的小程序,在小程序页面上进行操作 , 这时候fidder里已经有很多请求信息了,如下图所示:
![34 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取微信小程序的包-上篇](http://img.zhejianglong.com/231020/001002N54-6.png)
文章插图
4.寻找目标请求,这里暂逐一对各个链接进行检查,选择一个可能是目标链接的请求,查看请求头和返回数据
返回数据里显示乱码,点击返回数据区域上的“Responsebody is encode 。。。”转换编码格式
![34 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取微信小程序的包-上篇](http://img.zhejianglong.com/231020/0010026223-7.png)
文章插图
转换后发现,返回值跟当前页面的信息是不是很像,没错,就是这个请求
![34 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取微信小程序的包-上篇](http://img.zhejianglong.com/231020/00100241T-8.png)
文章插图
tips:笔者的手机andoroid 版本8.0,微信版本7.0,证书安装成功依然无法抓取https的请求 。
宏哥PC的端的微信版本是3.5 , 听说3.7也有的小程序抓不到包了 , 这个宏哥没有亲自尝试,有兴趣的小伙伴或者童鞋们,可以更新一下微信到3.7实践一下 。
推荐阅读
- 《Design by Contract for Embedded Software》 翻译
- 《英雄联盟》英雄亚索怎么玩(各个英雄如何评价亚索)
- MySQL数据库的性能分析 ---图书《软件性能测试分析与调优实践之路》-手稿节选
- 《新录用公务员任职定级规定》咨询 新录用公务员任职定级规定2019
- 《正义联盟》中超人是怎么死的
- 《正义联盟》超人那么厉害,是怎么死的(正义联盟超人实力怎样)
- 《三国演义》中曹操的大将许褚是怎么死的(三国许褚做了哪些大事)
- 33 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取WebSocket数据包
- 《火影忍者》:二代火影真正的死因是什么为什么说是不会解开的迷题
- JVM运行时数据区域详解