反爬里的自定义字体

用TTFont('./myHome.woff').saveXML('./myHome.xml')把ttf/woff解析出xml
解析出xml的GlyphOrder标签里定义了有哪些字符
cmap标签里的cmap_format_12标签里做了映射关系,如code=0x11111,name="one or unicode"
然后前端传入0x11111时用自定义的字体解码,找到code对应的name="one or unicode"
然后再根据name=xx,找到对应的<TTGlyph name=xx>,就是字形数据。

起点中文网:
字体文件里name直接表明了是什么数字,所以只要把前端返回的&#100278;转为16进制,然后就是找code=0x11111对应映射的name就知道是几了。

而猫眼里面
&#xf1c8;里把&#替换成0为0xf1c8就是字体文件里的code,然后找到对应的name=uniF1C8,然后再找对应的字形数据即可。
因为字体文件会变化,所以对应的code也会变化,只能把前端返回的code,找到对应字形数据,然后对比一开始我们人工识别出来的字形数据。

https://blog.csdn.net/fdipzone/article/details/68166388#前端用自定义字体加密
https://www.zhihu.com/question/268724762#关于自定义字体加密数字的大体介绍

自定义字体加密解析参考:
https://blog.csdn.net/qq_31032181/article/details/79153578#猫眼字体加密解析案例
https://www.jianshu.com/p/0e2e1aa6d270#猫眼字体加密解析案例
https://mrxin.github.io/2018/04/14/handle-some-web-font-crawl/#这里有不用下载字体,直接请求字体当缓存使用
https://zhuanlan.zhihu.com/p/33112359#猫眼字体加密解析案例
http://coolcao.com/2018/06/09/tips-of-anti-spider-in-fe/关于字体加密反爬以及其他总结http://mp.weixin.qq.com/s?__biz=MzA4MjEyNTA5Mw==&mid=2652568417&idx=1&sn=61ad5c0126f551036fbbf51557995d82&chksm=8464d32bb3135a3d39e6193c233a678bfb651f7bddc8f14fcb92b75c64b09f0d9246328f4fe8&scene=0#rd


https://mp.weixin.qq.com/s/kzndOT8E2JFNX_APnB4y7A
疑问fontTools库, 如何将字库文件转换成xml格式的?
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值