本文仅供交流学习,如有侵权,请联系删除。
1、打开拼多多商家后台,点击数据中心的流量数据,然后右击鼠标检测一下“店铺访客数”下面的数字,发现数字居然是乱码,此时有点懵逼。
2、找到返回这些数据的接口,发现接口返回的数字是乱码,其它的都正常的。
3、现在可以确定的一点就是数字是在前端经过特殊处理后还原的,而且只针对数字。回到第一步,分析一下这个元素所在的标签信息,标签的class中有个很可疑的信息__spider_font。
4、全局搜索一下 __spider_font,定位到一个字体文件,到了这一步稍微有点经验的人应该也知道了,这是字体加密。
5、把字体文件下载下来,用字体工具打开,刚好就是10个数字的字体。
6、请求一下这个接口,发现返回的数据就是字体文件上的编号,我们只需把十个数字的映射关系找出来,然后替换源数据就可以还原了。
7、然而事情并没有这么简单,每个板块用到的字体文件都不一样,同样的页面每天的字体文件也不一样,我们无法确定每天的请求用到的是哪套字体,那么如何通过一套字体映射关系解析所有的字体呢。不同的字体之间肯定是有某种关联,同时打开同一个页面的两套不同字体,看看有什么猫腻。下图是两套不同的字体中9的坐标信息,它们的坐标是一模一样的。也就是说,随便下载一套字体,做为基础字体,每次请求的时候把页面的字体文件下载下来,跟基础字体的坐标进行对比,如果坐标一模一样,那就是同一个数字。
10-17
8559

02-23
07-07
383
