精易论坛

标题: 【首发】woff文件字体解析 分析+源码 [打印本页]

作者: Ossian    时间: 2019-11-16 00:09
标题: 【首发】woff文件字体解析 分析+源码
本帖最后由 Ossian 于 2019-11-16 17:00 编辑

反爬


有时候你可能会遇到下面这种情况



明明这个字以明文的形式呈现在眼前 但复制粘贴确是乱码


分析


打开网页源码 找到关键字 可以发现标题下面一行字以【&#x】开头的编码



shift + c 跟中元素后可以发现 这个字体编码指向【PingFangSC-Regular】这个css位置中



跟入css里 发现其加载了 【63f94cca.eot】这个字体文件



在来源中搜 【63f94cca】发现文件却是以woff结尾的文件 可能是谷歌浏览器对其做的兼容



要搞定字体解析 先要知道.WOFF 是啥


WOFF的映射关系 一个编码对应一个字体



搞清楚这个是啥情况后 就要解决woff文件解析的问题了

当然是让万能的 Js来帮忙解析

借助【百度字体解析平台】(该网站纯JS解析woff,不过不知道为啥好像不好使了)



分析过程省略...



扣下Js文件并改写 (AMD框架 改的比较傻)


再借助ChakraCore引擎支持高级语法



返回如下结果 {"keys":[],"values":[]} (文本太长 删了一些开头的)



如上图所示 有个密密麻麻的文本 如下


咱把这个文本格式叫做svg



svg又是啥呢



里边的path解析 可参考 https://www.jianshu.com/p/c819ae16d29b这篇文章



那么如何绘制呢

接下来就要借助gdi来绘制了



绘制过程 省略....



以上这个绘制还不够完善 但勉强能够使用的


效果




若以上你感觉得不错的话



您的评分是作者最大的动力,留下您的好评吧!







回复 @yunying   16.png
有些东西需要测试过才知道 不要一概而论...
1.png

作者: 小梦想zzZ    时间: 2019-11-16 00:16
牛逼   这个都开源  太牛逼了
作者: 峰生水起之林    时间: 2019-11-16 00:17
好 感谢分享了
作者: yoobaby    时间: 2019-11-16 00:41
写得好详细。。。

作者: ノ朽默℡    时间: 2019-11-16 00:51
顶楼主啦..希望楼主多发精品好帖啦.....
作者: 精易小鱼    时间: 2019-11-16 02:02
半夜好文
作者: xzhuo    时间: 2019-11-16 02:08
之前学过Canvas,再学学SVG

作者: wlht2019    时间: 2019-11-16 02:19
提示: 作者被禁止或删除 内容自动屏蔽
作者: 酷易自绘    时间: 2019-11-16 07:02
不知道有何作用

作者: zzzzzzzz88    时间: 2019-11-16 07:06
看一下!!!!
作者: 浅蓝蜗牛    时间: 2019-11-16 08:16
持开源~!感谢分享
作者: ffsfdsa    时间: 2019-11-16 08:17
支持一下!感谢分享!
作者: 人善帝王心    时间: 2019-11-16 08:39
这个可以!!!
作者: 网络注册会员    时间: 2019-11-16 08:52
        支持开源~!感谢分享
作者: 韦贝贝    时间: 2019-11-16 09:47
        支持开源~!感谢分享
作者: wanz01    时间: 2019-11-16 10:14
感谢分享!!!
作者: 深圳梦    时间: 2019-11-16 10:28
支持开源~!感谢分享
作者: woshipqj    时间: 2019-11-16 10:39
支持开源~!感谢分享
作者: momo123    时间: 2019-11-16 11:12
可以发图片+文字
作者: hipxh    时间: 2019-11-16 11:46
        支持开源~!感谢分享
作者: yxl2008    时间: 2019-11-16 11:53
谢谢楼主分享,下载学习!!!!
作者: 西北望射贪狼    时间: 2019-11-16 11:54
感谢分享,希望以后我也能有足够的知识能帮助到别人

作者: 外星星人    时间: 2019-11-16 12:15
支持开源~!感谢分享
作者: wuqingg    时间: 2019-11-16 13:40
感谢分享,希望几年以后我也能有足够的知识能帮助到别人
作者: TBit    时间: 2019-11-16 13:51
这个很有用,谢谢楼主
作者: shinid8210    时间: 2019-11-16 15:10
学习一下看看
作者: 南宫娜月汐    时间: 2019-11-16 16:09
支持开源~!感谢分享
作者: gaoqing    时间: 2019-11-16 16:09
支持开源~!感谢分享
作者: yunying    时间: 2019-11-16 17:18
提示: 作者被禁止或删除 内容自动屏蔽
作者: 红桃じ简简箪箪    时间: 2019-11-16 20:55
     感谢分享,很给力!~

作者: 心智帅哥    时间: 2019-11-16 23:02
支持开源,感谢分享~!
作者: 765487363    时间: 2019-11-17 01:22
尘劳迥脱事非常,紧把绳头做一场。
不经一番寒彻骨,怎得梅花扑鼻香。
作者: 汉族    时间: 2019-11-17 01:46
支持一下   
作者: oursn    时间: 2019-11-17 05:58
woff文件字体解析 学习了

作者: 悟心猎手    时间: 2019-11-17 09:30
感谢分享,很给力!~
作者: 登峰望岳    时间: 2019-11-17 10:59
支持开源~!感谢分享
作者: bianyuan456    时间: 2019-11-17 11:03
已经顶贴,感谢您对论坛的支持!
作者: sampo    时间: 2019-11-17 12:35
感谢分享,很给力!~
作者: 噢噢    时间: 2019-11-17 12:35
支持开源~!感谢分享
作者: kentfung    时间: 2019-11-17 13:12
谢谢分享,下载来看看
作者: 明天虫子    时间: 2019-11-17 15:31
感谢分享!试试
作者: 黑色№    时间: 2019-11-17 15:42
之前一直用的Python解析的XML,在找规律做识别库,还能这样玩,围观了
作者: zhaitao666    时间: 2019-11-17 15:52
这个好 不错

作者: 情雅    时间: 2019-11-17 16:57
这个好 不错
作者: lovekisser    时间: 2019-11-17 20:44
off文件字体解析

作者: 努努    时间: 2019-11-17 22:40
感谢分享~~~!

作者: cyyjylt    时间: 2019-11-17 22:44
首发】woff文件字体解析 分析+源码

作者: 心智帅哥    时间: 2019-11-17 23:17
支持开源,感谢分享~!
作者: xslyhk    时间: 2019-11-18 01:26
谢谢分享哦
作者: 56766876    时间: 2019-11-18 09:16
感谢分享,很给力!~
作者: DresnClor    时间: 2019-11-18 11:36
woff文件字体解析,大佬6666

作者: hellohexiang    时间: 2019-11-18 13:33
支持开源~!感谢分享
作者: wjswzj0    时间: 2019-11-18 15:22
支持开源~!感谢分享
作者: zongran    时间: 2019-11-18 15:32
支持开源,感谢分享~!
作者: 熊猫哥    时间: 2019-11-18 16:22
牛逼牛逼!!!
作者: |﹎℡若即    时间: 2019-11-18 16:31
支持开源~!谢谢lz分享
作者: xiaoniu1230    时间: 2019-11-18 17:19
感谢分享支持开元

作者: 心智帅哥    时间: 2019-11-18 21:26
支持开源,感谢分享~!
作者: leonqp1030    时间: 2019-11-19 10:47
技术贴,支持支持!
作者: 裸奔的饺子    时间: 2019-11-19 12:12
老厉害了,支持
作者: 上帝    时间: 2019-11-19 12:45
学习一下!~!~!~!
作者: NtDefault    时间: 2019-11-19 18:08
学习一下!~!~!~!

作者: 心智帅哥    时间: 2019-11-19 21:24
支持开源,感谢分享~!
作者: 心智帅哥    时间: 2019-11-19 21:24
支持开源,感谢分享~!
作者: 心智帅哥    时间: 2019-11-19 21:25
支持开源,感谢分享~!
作者: yxl2008    时间: 2019-11-19 23:50
支持开源,感谢分享~!
作者: dark小新    时间: 2019-11-20 14:00
正好需要 拿走了!!!谢谢!
作者: hx52    时间: 2019-11-21 11:58
永远支持精易。!!!
作者: aidijy    时间: 2019-11-22 06:43
感谢发布原创作品,精易因你更精彩!
作者: 爱易编程    时间: 2019-11-22 08:27
好高深啊


作者: jiahui    时间: 2019-11-23 20:12
学习学习  感谢分享
作者: ccc8899    时间: 2019-11-25 23:32

支持开源,感谢分享~!
作者: 少校1688    时间: 2019-11-26 00:18
感谢楼主分享
作者: ujff77    时间: 2019-11-28 11:46
非常感谢,收下源码
作者: 铁血勇士    时间: 2019-12-8 16:47
  谢谢  分享    收藏一下  学习一下
作者: wqr031528    时间: 2019-12-18 10:59
感谢开源,谢谢分享啦~~~~
作者: aassaadd123    时间: 2019-12-19 18:49
谢谢分享 学习一下
作者: 杨明煜    时间: 2020-1-14 21:43
支持。。。。。。。。。。。。
作者: 就是那个秋    时间: 2020-2-14 20:58
        支持开源~!感谢分享
作者: ysf0181    时间: 2020-8-14 09:18

作者: 威武小草    时间: 2020-9-9 14:02
思路不错         
作者: 渡不得……    时间: 2020-10-27 16:59
看得偏头疼。技术流
作者: sophitia212    时间: 2021-1-28 11:36
这个图绘制出来怎么是空心的呢,有没办法填充?
作者: 醉卧美人膝    时间: 2021-2-11 06:09
谢谢大佬分享 支持支持
作者: chenyucheng    时间: 2021-6-20 06:07
https://m.book118.com/html/2018/1026/6203045110001224.shtm?from=mip也这样,点上面的“文字版”,复制一段文字,如“执黑者或执白者的姓名 尽量保持姓名的一致,职业棋手推荐使用官方公布的姓名。”粘贴会显示“执黑者或执白者的姓名 尽量保持姓名的一致,职业棋手推荐使
作者: chenyucheng    时间: 2021-6-20 06:11
chenyucheng 发表于 2021-6-20 06:07
https://m.book118.com/html/2018/1026/6203045110001224.shtm?from=mip也这样,点上面的“文字版”,复制 ...

用苹果手机的旁白把“执黑者或执白者的姓名 尽量保持姓名的一致,职业棋手推荐使用官方公布的姓名。”会读成“执黑者或执白者的姓名 尽量保持姓名的一致,职业棋手推荐使官公布的姓名。”(少了“用”和“方”,因为这两个字实际是乱码)
作者: chenyucheng    时间: 2021-6-20 06:12
chenyucheng 发表于 2021-6-20 06:07
https://m.book118.com/html/2018/1026/6203045110001224.shtm?from=mip也这样,点上面的“文字版”,复制 ...

执黑者或执白者的姓名 尽量保持姓名的一致,职业棋手推荐使
作者: chenyucheng    时间: 2021-6-20 06:14
chenyucheng 发表于 2021-6-20 06:12
执黑者或执白者的姓名 尽量保持姓名的一致,职业棋手推荐使

执黑者或执白者的姓名 尽量保持姓名的一致,职业棋手推荐使{问号或方框}官{问号或方框}公布的姓名。
作者: chenyucheng    时间: 2021-6-20 06:16
sophitia212 发表于 2021-1-28 11:36
这个图绘制出来怎么是空心的呢,有没办法填充?

用Windows自带画图截取字空心,然后用颜色填充也许可以吧。
作者: HuangQAQ    时间: 2022-1-16 19:32
xxxxxx1111111111
作者: gaoqing    时间: 2022-5-10 09:09
谢谢分享
作者: godking    时间: 2022-8-29 13:27
需要学习,才能进步
作者: godking    时间: 2022-8-29 13:28
精彩文章,顶顶,学学
作者: 摸鱼鸽子    时间: 2022-9-1 14:11
666666666666666666666666
作者: A1392747874    时间: 2023-10-3 11:52
6666666666666
作者: ccc8899    时间: 2024-1-13 04:27
谢谢分享




欢迎光临 精易论坛 (https://bbs.125.la/) Powered by Discuz! X3.4