无Root实现手机抓包,以微信文章为例

2,040 阅读2分钟

抓包目的

前两天微信出了付费文章的模式,但这种文章的阅读量不会公开显示出来。但对于这些被藏住的东西,人越发想知道。

先说下不用抓包获取相关信息的思路。但凡是BS架构的模式,消息的传递无非是通过响应头和请求头来实现,当然还有消息体本身。那微信文章其实也就是一个网页,复制文章链接后是可以到非微信浏览器(如chrome)中打开的。

所以方法一,复制微信文章用非微信的浏览器打开,通过当前浏览器的开发者工具查看请求和响应数据。由此操作,遇到的第一个问题是,虽然找到了对应的接口和对应的字段,但是并没有数据。可能的两个原因,一是没有付费购买的这篇文章,二是在别的浏览器环境下,这些字段的值就是不会显示。

但在付费买完之后,点开链接还是显示付费查看全部内容,猜测可能是因为在微信浏览器环境无法识别到该用户是否已购买该文章。


但在微信内,没有像桌面浏览器一样功能强大的开发者工具,所以只能借助其他工具抓取到打开文章那一瞬相关请求的数据。


尝试别的工具

搜索后发现两款较为简单可以直接在手机上操作的抓包应用,不用像fiddle或者Charles一样需要手机配合电脑所在网络环境。分别是packet capture 和 AndroidHttpCapture。先试的是前一个,在看接口相关数据的时候出现了乱码问题,找了下没有好的解决方案就用第二个了。

找到刚刚的接口,再点进去就可以发现那些字段都有数据了。readCount和payCount 分别就是阅读量和付费人数。

第二个工具的链接在这里,github.com/JZ-Darkal/A…