JS逆向:破解某民宿字体反爬策略

1. 字体反*爬原理

  • 字体反爬原理,参见:https://www.jianshu.com/writer#/notebooks/46497835/notes/89368581,此处不再赘述:

2. 某民宿字体反爬策略

  • 检查元素查看价格、评论数,发现数值被加**密过了,如下图:

  • 这里我们发现 clsss 值为 abfzdp8,通过分析我们发现,这种情况下我们后面没有办法进行映射;
  • 此时我们准换思路,在 Network 中分析 response,查看 response 我们可以发现,price 值是 &#xf450 ;&#xf194 ;&#xeb8e ;,这就符合我们一般的映射表习惯了,同时我们还注意到在 response 中有 .woff 文件的地址,据此我们可以推断, woff 文件是动态变化的;

  • 我们下载 .woff 文件,拖入 https://font.qqe2.com/,我们发现数值和 unicode 编码对应上了,得到下图:

  • 至此,破**解完毕。

3. 代码实现

  • 发送请求,获取 woff 文件、prices 数据;
  • 下载 woff 文件,TTFont 读取并转换成 xml 文件;
  • 建立映射表,并替换得出结果;
  • 具体代码,此处省略。