字体反爬怎么激活成功教程_word文字重叠错乱

(5) 2024-08-02 20:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
字体反爬怎么激活成功教程_word文字重叠错乱,希望能够帮助你!!!。

woff文件处理

    • 可视化软件
    • xml文件结构关系
    • 静态,动态woff文件处理方法

可视化软件

woff文件一般使用fontcreator查看
链接: https://dqunying2.jb51.net//tools/fontcreator_jb51.rar.

字体反爬怎么激活成功教程_word文字重叠错乱_https://bianchenghao6.com/blog__第1张

xml文件结构关系

需要先将woff文件转化为xml格式

from fontTools.ttLib import TTFont import xmltodict font = TTFont('7.woff') # 保存为xml文件 font.saveXML('7.xml') # 读取xml文件内容 with open('7.xml', 'r') as f: xmldict = xmltodict.parse(f.read()) for i in xmldict['ttFont']['glyf']['TTGlyph'][1:]: # 此处i为OrderedDict 需要转换才能进行下一步取值 # ww = json.loads(json.dumps(i)) # for i in ww: # print(i) print(i) 

xml的字体文件格式一览,其中主要看GlyphOrder,cmap,glyf

字体反爬怎么激活成功教程_word文字重叠错乱_https://bianchenghao6.com/blog__第2张
其中GlyphOrder可映射文件id从fontcreator软件中获取该字,如下unie842为6,unie269为9,以此类推

字体反爬怎么激活成功教程_word文字重叠错乱_https://bianchenghao6.com/blog__第3张

字体反爬怎么激活成功教程_word文字重叠错乱_https://bianchenghao6.com/blog__第4张
cmap则表明了映射关系,此处多半是网页呈现的代码

字体反爬怎么激活成功教程_word文字重叠错乱_https://bianchenghao6.com/blog__第5张
glyf是对字体的图像描写笔画显示

 <TTGlyph name="unia863" xMin="0" yMin="-164" xMax="996" yMax="804"> <contour> #点 x.y on 0表示为弧形区域 1表示矩形 <pt x="22" y="-72" on="1"/> <pt x="96" y="59" on="0"/> <pt x="102" y="322" on="1"/> 

静态,动态woff文件处理方法

对于静态文件只需要下载到本地,获取字符集的列表顺序,再根据xml中的映射关系即可解决。

对于动态文件有2种情况一种是uniname变化,字符集不变,这种情况需要每次请求都下载一次woff文件。

第二种情况是2者都会变化,字符集顺序也会变化,这种情况博主的处理方式为,对`glyf`中的字符笔划x,y的值,on的排列等数据进行操作,拿到该字符唯一的特征,再去映射文件字体即可该方法适用于少量的字体反爬。

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复