当前位置: 首页 > news >正文

猿人学题库13题—动态css字体加密 记录

猿人学题库13题—动态css字体加密

1.  首先 进入 浏览器的开发者工具抓包

    在 xhr 可以看到 ajax请求数据接口,返回的数据有一个 woff 键,这里就是 woff的base64格式

    请求获取 数据后 把 woff键的值 base64解码 保存为tff文件格式

2、安装库

这里需要用到fontTools库安装FontTools库非常简单,推荐使用Python的包管理工具pip进行安装。读者只需打开终端或命令提示符,输入以下命令即可:

pip install fonttools

安装完成后,可以通过以下Python代码检查是否安装成功:

import fontTools
print(fontTools.__version__)

如果控制台打印出FontTools的版本信息,则表示安装无误,我们可以继续进行下一步的FontTools探索之旅。

 3、解析 woff 文件 

保存 tff 格式后,用  from fontTools.ttLib import TTFont 读取,

在解析的过程可以先 保存为 xml 格式,查看数据

观察xml 文件发现最后 这部分 是 Unicode 编码是 排序好的,和数字排序是对应的,直接找规律。

每次请求获取 Unicode对应的数字值子典进去比对,就可以获取正确的数值了

核心代码

def SaveTff(res):new_font_name = "./tff/font_base.ttf"xml_font_name = "./tff/font_base.xml"font_data_after_decode = base64.b64decode(res['woff'])with open(new_font_name, 'wb') as f:f.write(font_data_after_decode)font = TTFont(new_font_name)font.saveXML(xml_font_name)extraNames = font.get('post').__dict__['extraNames']woff_dict = {}for index, val in enumerate(extraNames):if index < 9:num = index + 1else:num = 0woff_dict[val.replace('uni', '&#x')] = num# print(woff_dict)return woff_dict

http://www.dtcms.com/a/156242.html

相关文章:

  • 深入理解指针 (1)
  • Unity 打包后 无阴影 阴影不显示
  • Hi3516CV608 超高清智慧视觉 SoC 芯片 可提供开发资料
  • 论分布式事务及其解决方案 架构师论文范文(考试笔记)
  • 电力系统惯性与惯量关系解析
  • SCI论文结构笔记
  • ctfshow-web-新春欢乐杯
  • 【使用层次序列构建二叉树(数据结构C)】
  • 脚本分享:快速作图对比wannier拟合能带python脚本
  • 深入理解C语言变量:从基础到实践
  • 《深入浅出ProtoBuf:从环境搭建到高效数据序列化》​
  • 三串口进行试验
  • 如何将 sNp 文件导入并绘制到 AEDT (HFSS)
  • Vue多地址代理端口调用
  • version `GLIBCXX_3.4.32‘ not found 解决方法
  • Coding Practice,48天强训(23)
  • BIOS主板(非UEFI)安装fedora42的方法
  • How to haggle over salary with HR
  • 从LLM到AI Agent的技术演进路径:架构解析与实现逻辑
  • 软考【网络工程师】2023年5月上午题答案解析
  • 截至2025年4月,AI硬件已深度融入各自场景!!
  • OCR定制识别:解锁文字识别的无限可能
  • Python3:文件操作
  • Lesar: 面向 Lustre/Scade 语言的形式化模型检测工具
  • vue前端SSE工具库|EventSource 替代方案推荐|PUSDN平行宇宙软件开发者网
  • Linux上安装Mysql、Redis、Nginx
  • Android 14 修改侧滑手势动画效果
  • C语言面试高频题——strcat、strncat、strcmp、strcpy 哪些函数会导致内存溢出?
  • Android ActivityManagerService(AMS)深度解析
  • 基于javaweb的SpringBoot+MyBatis通讯录管理系统设计与实现(源码+文档+部署讲解)