美文网首页
字体反爬篇

字体反爬篇

作者: 一只酸柠檬精 | 来源:发表于2021-01-22 16:00 被阅读0次

    一、总体思路

    1、获取字体文件
    2、base64解密文件分别保存为woff文件与xml文件
    3、查看映射关系创建映射字典
    4、通过映射字典,第二次获取响应时替换成实际数据

    二、解析过程

    image.png

    1、获取字体文件

    在开发者工具中查找"font-face",如图所示

    image.png

    获取到base64字符串并删除头部信息,在这里就是data:application/font-ttf;charset=utf-8;base64, 逗号也要删除,这样就获取到了字体信息,这一段密文就是加密后的字体文件

    T1RUTwAJAIAAAwAQQ0ZGICGSe1oAAATUAAAEd09TLzJlNl+eAAABAAAAAGBjbWFwACoGOwAABAQAAACwaGVhZBf2b3IAAACcAAAANmhoZWEA3wBNAAAA1AAAACRobXR4B/AAAAAACUwAAAAkbWF4cAAJUAAAAAD4AAAABm5hbWUKXYQxAAABYAAAAqNwb3N0AAMAAAAABLQAAAAgAAEAAAABAACCl4DfXw889QADAQAAAAAA3DAYYwAAAADcMBhjAAf//wB4ALUAAAADAAIAAAAAAAAAAQAAAN3/xQAAAH4AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAkAAFAAAAkAAAADAH4B9AAFAAACigK7AAAAjAKKArsAAAHfADEBAgAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAACBYWFhYAEAATgBVAN3/xQAAALUAAQAAAAEAAAAAAG8AtQAAAAAAAAAAACIBngABAAAAAAAAAAEAQgABAAAAAAABAAwAAAABAAAAAAACAAYAJAABAAAAAAADABUAxgABAAAAAAAEABMANgABAAAAAAAFAAsApQABAAAAAAAGABIAbwABAAAAAAAHAAEAQgABAAAAAAAIAAEAQgABAAAAAAAJAAEAQgABAAAAAAAKAAEAQgABAAAAAAALAAEAQgABAAAAAAAMAAEAQgABAAAAAAANAAEAQgABAAAAAAAOAAEAQgABAAAAAAAQAAwAAAABAAAAAAARAAYAJAADAAEECQAAAAIAYQADAAEECQABABgADAADAAEECQACAAwAKgADAAEECQADACoA2wADAAEECQAEACYASQADAAEECQAFABYAsAADAAEECQAGACQAgQADAAEECQAHAAIAYQADAAEECQAIAAIAYQADAAEECQAJAAIAYQADAAEECQAKAAIAYQADAAEECQALAAIAYQADAAEECQAMAAIAYQADAAEECQANAAIAYQADAAEECQAOAAIAYQADAAEECQAQABgADAADAAEECQARAAwAKk9wZW5UeXBlU2FucwBPAHAAZQBuAFQAeQBwAGUAUwBhAG4Ac01lZGl1bQBNAGUAZABpAHUAbU9wZW5UeXBlU2FucyBNZWRpdW0ATwBwAGUAbgBUAHkAcABlAFMAYQBuAHMAIABNAGUAZABpAHUAbU9wZW5UeXBlU2Fuc01lZGl1bQBPAHAAZQBuAFQAeQBwAGUAUwBhAG4AcwBNAGUAZABpAHUAbVZlcnNpb24gMC4xAFYAZQByAHMAaQBvAG4AIAAwAC4AMSA6T3BlblR5cGVTYW5zIE1lZGl1bQAgADoATwBwAGUAbgBUAHkAcABlAFMAYQBuAHMAIABNAGUAZABpAHUAbQAAAAACAAMAAQAAABQAAwAKAAAANAAEACAAAAAEAAQAAQAAAAD//wAAAAD//wAAAAEAAAAAAAwAAAAAAHwAAAAAAAAACQAAAAAAAAAAAAAAAAABAE4AAQBOAAAAAQABAE8AAQBPAAAAAgABAFAAAQBQAAAAAwABAFEAAQBRAAAABAABAFIAAQBSAAAABQABAFMAAQBTAAAABgABAFQAAQBUAAAABwABAFUAAQBVAAAACAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAEAQABAQETT3BlblR5cGVTYW5zTWVkaXVtAAEBAT/4GwD4HAL4HQP4HgSLivdx9xIFHQAAAOAPHQAAAPERix0AAAR3Eh4KADkGJf8eDx4PHgoAOQYl/x4PHg8MBwAMAQEMHysxOUFJUVlhaXFWZXJzaW9uIDAuMU9wZW5UeXBlU2FucyBNZWRpdW1PcGVuVHlwZVNhbnNNZWRpdW11bmkxMDA0ZXVuaTEwMDRmdW5pMTAwNTB1bmkxMDA1MXVuaTEwMDUydW5pMTAwNTN1bmkxMDA1NHVuaTEwMDU1AAAAAYsBjAGNAY4BjwGQAZEBkgAJAgABAAQASwDFAXIBzAH6AmoDDANw+pQO9xLtjhVHiwWLkgWbiwWQi46Oi5IIi4sFi/caBYuRiY2GiAiLiwV7gwWIkwWyoQWShwWL+zEFi4SOiJCLCIuLBZuLBYuEBQ73Eu33MBVQiwWDZwW9jKR2jGEIi4sFiGZ1d2GICIuLBXeLgZCKlAiLiwWLk46PkosIi4sFkIyRiJOECIuLBZOGkYiOiwiLiwWcjJSZjKUIi4sFjat3mmGKCIuLBYiLio2LjgiLiwWa2AXViwWHewWLiImJiIsIi4sFDvcSwd4Vi4sFe4CDfox8CIuLBYx0ln+gigiLiwWejZWWjJ4Ii4sFi5p9mnCaCJM3FYuLBWyNepmIpAiLiwWKnZacopoIi4sFdpmBm4ydCIuLBY2mmpmojQiLiwWmiZp+jXMIi4sFjHuBfXZ+CIuLBaZ8mHmKdQiLiwWKbnp8aooIcPcoFYuLBYp9lX2gfQiLiwWal5OYi5kIi4sFip2BlXiMCIuLBXyKg4KKewgO9xLK90EVi4sFdoyAb4tTCIuLBYpRlm+hjQiLiwWhipanisQIi4sFi8OAp3aKCIuTFYuLBayHnm2QUgiLiwWIUnhtaIgIi4sFaI14qYnGCIuLBY/EnqmsjggO9xKW90UV8IsFi4UFVvtABXaLBb/3MQVTiwWFjIiIioUIi4sFhHUFhYsFi74FDvcSmooVi4sFiZIFtpqkpJKuCIuLBYCAf4V+iwiLiwVwjnydiawIi4sFjLScoKyMCIuLBa6KnXKMWgiLiwWLUGpnSX8I1uoVi4sFjcCBpXWKCIuLBXiLgnuLawiLiwWKapV7oIwIi4sFloyUkZOWCA73ErLfFYuLBYmTBaeVmZqKngiLiwWLm4STfosIi4sFfIx9gX53CIuLBYWOBZaqnJuijAiLiwWliph/jHMIi4sFi3yCfnp/CIuLBaSIl3yLcQiLiwWJZHN3XIkIi4sFeYyCkIqUCIuLBYySjo+RjAiLiwWOi5CIkoYIi4sFioyMi42KCIuLBZKGkYmQiwiLiwWejpWZjaQIi4sFjqp6lmaDCA73EvXDFZGLBYtWBSOLBYuSBbrCBZyfk6CLogiLiwWLoIOVeosIi4sFfIx+f39zCIuLBYSNBZSvnZ2liwiLiwWniZp7jG0Ii4sFjHmAdnRyCIuLBWRfBb+LBZaKkpWOoQiLiwUOAAQAAAAAfgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAA==
    

    进行base64解码(为什么是bs64呢,因为font-face中标明了是base64)并分别保存为woff文件与xml文件

     # base64解密
        font_content = base64.b64decode(base64_str)
        # TTFont打开从内存读取的二进制woff数据
        font = TTFont(io.BytesIO(font_content))
        # 将woff文件转换为xml文件
        font.save('ts.woff')
        font.saveXML('ts.xml')
    

    使用Fontcreator打开woff文件,就可以看到字形与实际字体的对应关系,也就是映射

    image.png

    这就知道了结果,然后打开xml文件,通过结果查找映射关系就事半功倍了。

    image.png

    至于创建映射字典和替换数据都是体力活了,就不一一介绍了。

    其他内容

    将base64格式的字体信息解码成可用的字体文件

    相关文章

      网友评论

          本文标题:字体反爬篇

          本文链接:https://www.haomeiwen.com/subject/glnszktx.html