Fiddler如何抓取微信小程序的包

本文介绍了如何在安卓手机上使用Fiddler进行小程序抓包,强调了安卓7.0以上版本的挑战,包括需要手机Root权限来安装系统证书。文中提供了设置Fiddler代理、手机代理以及安装Fiddler证书的步骤,并给出了两种实战方法:一是通过电脑抓取小程序包,二是处理微信小程序的特殊抓包情况。此外,还提到随着软件版本升级,抓包难度可能增加,建议降级版本以实现抓包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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选项:

3.指定代理端口,勾选指定项

3.2手机代理设置

1.手机设置代理:

(1)设置端口与fiddler的端口保持一致:8888;2、设置IP地址与PC机的IP保持一致

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.打开电脑端小程序:退出微信,登录微信时设置代理,如下图所示:

2.打开微信pc版,点击左侧箭头,会弹出右侧小程序列表,如下图所示:

3.开始抓包,打开fidder,选择列表内需要抓包的小程序,在小程序页面上进行操作,这时候fidder里已经有很多请求信息了,如下图所示:

4.寻找目标请求,这里暂逐一对各个链接进行检查,选择一个可能是目标链接的请求,查看请求头和返回数据

返回数据里显示乱码,点击返回数据区域上的“Responsebody is encode。。。”转换编码格式

 转换后发现,返回值跟当前页面的信息是不是很像,没错,就是这个请求

tips:

笔者的手机andoroid 版本8.0,微信版本7.0,证书安装成功依然无法抓取https的请求。

宏哥PC的端的微信版本是3.5,听说3.7也有的小程序抓不到包了,这个宏哥没有亲自尝试,有兴趣的小伙伴或者童鞋们,可以更新一下微信到3.7实践一下。

5.小结

随着互联网技术的发展以及各类APP或者小程序的完善,版本越高抓包越难,要想好好的抓包最笨的办法就是降低版本。

5.1Fiddler抓不到pc端微信小程序包解决方案

第一步、微信里面先打开我们需要抓包的小程序,然后启动任务管理器,下面以小红书为例点击进程,找到 WeChat Miniprogram Framework 里面的小红书APP,如下图所示

第二步、鼠标选中小红书APP,右击打开文件所在的位置,打开后看下文件路径里面有没有 WMPFRuntime 这个文件夹,如果没有这个文件夹就不要继续操作了,这个办法不适合你

第三步、如果你找到了这个文件夹,如下图所示,先把电脑上登录的微信全部退出,然后把 WMPFRuntime 文件夹里面的全部删除,删除完成后重新登录微信,如果你不先退出微信,这个文件夹会提示你被占用无法删除的。

只要删除了这个缓存的文件夹,再重新登录微信打开小程序,用fiddle就可以轻松抓包了。

### 使用Fiddler捕获微信小程序的HTTP流量 #### 启动并配置Fiddler 为了准备捕捉来自微信小程序的HTTP/HTTPS流量,在启动Fiddler之后,需确认已激活了监听状态。这可以通过点击菜单中的`文件(File)`选项下的`捕获数据(Capture Traffic)`来实现,也可以通过按下键盘上的`F12`键快速开启此功能[^1]。 #### 设置手机与电脑连接同一Wi-Fi网络 确保用于运行微信小程序的移动设备和安装有Fiddler软件的计算机处于同一个局域网内非常重要。这是因为Fiddler作为中间代理服务器工作时,依赖于两者之间稳定的网络通信环境[^2]。 #### 修改移动设备的网络设置指向Fiddler所在PC 接着要在智能手机或其他终端设备上调整其无线网络参数,具体操作为更改DNS地址至执行Fiddler应用程序那台主机的IP地址;对于iOS系统而言,则还需额外设定HTTP代理为手动模式,并输入相同的目标机器IP以及默认端口号8888(这是Fiddler的标准侦听端口)。完成上述步骤后保存变更以便生效。 #### 安装根证书以支持HTTPS拦截 由于现代大多数互联网服务都采用了SSL/TLS加密协议传输敏感信息,因此如果想要查看或修改这些经过加密处理的数据流的话,就需要让客户端信任由Fiddler自动生成的安全凭证——即所谓的“根证书”。对于Android平台可以直接访问<http://ipv4.fiddler:8888>下载相应格式(.der)的CA证书文件并通过设置->安全->受信任的凭据导入;而iPhone/iPad用户则应前往Safari浏览器打开同样的网址获取适用于苹果生态系统的.cer版本,并按照提示完成安装过程。 #### 开始监控指定的小程序活动 当一切准备工作就绪以后就可以正常启动微信应用加载所需测试的小程序页面啦!此时返回到Fiddler界面就能看到实时更新的一系列会话列表项,其中含了该实例发起的所有GET/POST请求详情及其响应内容摘要等有用资料供开发者进一步研究分析之用了。 ```python # Python代码仅作示意用途,实际操作无需编写任何脚本 import requests url = "https://example.com/api/data" response = requests.get(url) print(response.status_code) print(response.text) ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值