Error message here!

Hide Error message here!

忘记密码?

Error message here!

请输入正确邮箱

Hide Error message here!

密码丢失?请输入您的电子邮件地址。您将收到一个重设密码链接。

Error message here!

返回登录

Close

字体反爬(2)

神一样了 2019-04-14 14:30:00 阅读数:262 评论数:0 点赞数:0 收藏数:0

这次是动态字体库的字体反爬 

猫眼电影榜单国内票房榜,地址:https://maoyan.com/board/1

可以看出又是字体反爬,需要获得字体文件,定位字体文件的url,在页面或css里搜@font-face或font-famil

在network选font标签刷新页面几次发现每次用的字体都不一,加密用的字体库是动态的,手动建立关系表然后全局替换的方法不管用了。

 

解决方案

建立字符和动态字体库unicode的联系

原理

首先要了解字体文件内部有很多表,上篇用到记录unicode索引和字形关系的cmap表就在里面,

这此要用到glyf表,这个表里记录了具体的字形数据,表里只记录了字形数据,没有表头索引。

有专门的表loca按顺序记录glyf里每个字形的位置,在使用字体时通过loca表来找到具体字形。

所以反爬不是改变字形的话可以利用字形数据来找到自定义字体unicode与真实字符的联系。

这部分详细资料见 https://www.cnblogs.com/shenyiyangle/p/10700156.html 中的glyf表。

找关联的思路如图:

 

1.下载一个网站字体做为基准,建立基准字体unicode和真实字符关系。

2.在页面刷新网页字体库变化,重新下载字体,记为网站字体2,通过比较网站字体1和网站字体2的字形找到unicode和新unicode联系。

3.再通过相同的unicode来建立真实字符和变化字体库unicode的联系,最后全局将新unicode替换成真实字符。

 

代码明天写。。。

 

版权声明
本文为[神一样了]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/shenyiyangle/p/10704696.html

编程之旅,人生之路,不止于编程,还有诗和远方。
阅代码原理,看框架知识,学企业实践;
赏诗词,读日记,踏人生之路,观世界之行;