当前位置:网站首页>JS逆向字体反爬,某供应商平台反爬实践
JS逆向字体反爬,某供应商平台反爬实践
2022-08-04 11:31:00 【InfoQ】
️ 实战场景
aHR0cHM6Ly9jbi5jaGluYS5jbg==
️ 供应商字体反爬 实战场景
font
import re
from fontTools.ttLib import TTFont
from hashlib import md5
font = TTFont('./fonts/112.woff')
font.saveXML('./112.xml')
<span class="secret">𐃎𐃏𐃏 𐃏𐃏𐃎𐃐 𐃐𐃑𐃒𐃒</span>
import re
from fontTools.ttLib import TTFont
from hashlib import md5
# font = TTFont('./fonts/112.woff')
# font.saveXML('./112.xml')
# 读取字体文件
font = TTFont('./fonts/112.woff')
# 读取 cmap
cmap = font.getBestCmap()
with open('./112.xml','r',encoding='utf8') as f:
ret = f.read()
ret = ret.replace('\n','').replace(' ','')
# print(ret)
for i in cmap:
# 查询目标数据
data = re.findall(f'<CharStringname="{cmap[i]}">(.*?)</CharString>', ret)[0]
# print(data)
# 将查询到的结果进行 md5 编码
char_md5 = md5(data.encode('utf8')).hexdigest()
print(char_md5)
边栏推荐
猜你喜欢
Leetcode刷题——543. 二叉树的直径、617. 合并二叉树(递归解决)
入门MySql表的增删查改
Advanced transcriptome analysis and R data visualization hot registration (2022.10)
秒云成功入选《2022爱分析 · 银行数字化厂商全景报告》,智能运维能力获认可
【LeetCode】700.二叉搜索树
手搓一个“七夕限定”,用3D Engine 5分钟实现烟花绽放效果
【VBox】解决复制VBox虚拟机后提示硬盘UUID 已经存在的问题
【目标检测】yolov3特征提取网络------Darknet53网络及pytorch实现
命令模式(Command)
*iframe*
随机推荐
蒲丰投针学习笔记
cat /proc/kallsyms found that the kernel symbol table values are all 0
外键约束;外键约束
【无标题】
深度学习------pytorch实现划拳模型训练
临床研究方法学,到现场,到数据真实发生的地方 | 对话数智 x 张维拓
从零开始Blazor Server(7)--使用Furion权限验证
萌宠来袭,如何让“吸猫撸狗”更有保障?
Leetcode刷题——543. 二叉树的直径、617. 合并二叉树(递归解决)
能力更强,医疗单据识别+医疗知识库校验
MTBF是什么意思?交换机做MTBF有什么要求?MTTF、MTBF和MTTR的区别是什么?
音频编辑 合唱
3-5年以上的功能测试如何进阶自动化?
知道创宇EDR系统实力通过中国信通院端点检测与响应产品能力评测
剑指长城炮? 长安全新皮卡官方谍照
Xilinx VIVADO 中 DDR3(Naive)的使用(2)读写设计
Mysql——》类型转换符binary
【RISC-V】Trap和Exception
cat /proc/kallsyms 发现内核符号表值都为0
vector中函数emplace_back的实现原理