前言
最近由于项目的需求,需要获取微信图文的点赞数以及阅读数。相关的接口已经通过抓包软件fiddler定位到了,但是这两个接口需要传递一个key值才能获取到响应的数据,而这个key的参数不仅动态变化,而且还是通过微信的自定义的协议进行传递通信,所以按照一般的手段,很难获取到这个值。
缺失key值,就无法获取到图文的点赞数以及阅读数,反过来说,只要解决了获取key参数的问题,那么这个获取点赞数以及阅读数的问题就会迎刃而解。
这里提供两种思路。
第一种思路则是从key的生产源头出发——即破解微信android的源码,对其进行修改后重编,此时即可获取到key值。这种方法胜在稳定,然而需要读懂微信的源码以及规避微信的数字签名校验等机制。
第二种思路则是从通信过程入手,采用中间人攻击对key进行截获转发到我们自身的服务器。
目前笔者采用了第二种思路来作为解决问题的方法。
相关概念以及知识点
(1)中间人攻击
通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。
(2)HTTPS
HTTPS是基于SSL/TSL的HTTP,在HTTP协议的基础上,添加了SSL/TSL的数据传输加密机制。
(3)HTTPS通信流程
<