大众点评字WOFF字体解密

本文详细解析了大众点评网站上使用的字体加密技术,通过分析woff字体文件和Unicode码,介绍了如何利用Python解开字体加密,获取真实显示内容的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景需求:

个人为了练习爬虫选择了爬取大众点评,并不顺利但最终终于有了一种方式获得。

具体的相关代码https://github.com/wuhongda/dazhongdianping

1、字体

 

                                                                          图1

我们可以看到飘红部分1是正常显示,但是我们打开开发者调试时显示的全是一个正方形的框,而飘红的3 很明显是导入了一个字体,可以点击进去查看(图2所示),不同的标签使用了不同的字体的文件,当然woff字体的使用和为什么就不做解释了(因为对前端不了解),但是我们可以有一个基本的思路为什么所有的都是一个正方形框,有没有我们小时候的写字本田字格的意思!

                                                                   图2

接下来我们可以看看网页源码图3所示

                                                                       图3

然后我们可以看到所有的正方形框里的东西前缀都是以&#x开头的东西。

接下来我们将woff文件下载下来进通过FontCreator软件进行查看结果图4所示,所有页面的woff文件的内容都是一样的 但是上边Unicode码不一样,而且对数字和文字引用了不同的字体库。

 

 

我们用python将woff解开之后如图5所示,woff进行解开之后对应的position字段都是一样不变的,但是前边的Unicode、十六进制码、十进制码都是不一样的,所以在每次后端变化时间我们只需要更新对应的字段,对应的不用字段在git上可以查看。

 

Node.js本身并没有直接逆向WOFF字体文件的功能,WOFF(Web Open Font Format)是一种字体文件格式,用于网页字体的压缩和分发。逆向WOFF字体文件通常意味着需要从WOFF格式转换回原始的字体格式,比如TrueType(TTF)或OpenType(OTF)格式。 要逆向WOFF字体文件,你可以使用一些现成的工具,如Python脚本、在线转换服务或者专门的库。如果你希望在Node.js环境中实现这一功能,你可能需要依赖外部命令行工具或编写一个Node.js扩展来调用底层字体处理库。 以下是一个大致的步骤说明,用于在Node.js中逆向WOFF字体文件: 1. 找到可以将WOFF转换为其他字体格式的命令行工具,如`fonttools`或`woff2otf`。 2. 使用Node.js的`child_process`模块中的`exec`或`spawn`函数调用这些工具。 3. 将WOFF文件作为输入,将转换后的文件保存为所需格式。 示例代码如下: ```javascript const { exec } = require('child_process'); const woffFilePath = 'path/to/your/font.woff'; const outputFilePath = 'path/to/your/font-output.ttf'; exec(`woff2otf ${woffFilePath} ${outputFilePath}`, (error, stdout, stderr) => { if (error) { console.error(`执行的错误: ${error}`); return; } console.log(`标准输出: ${stdout}`); if (stderr) { console.error(`标准错误输出: ${stderr}`); } console.log('WOFF字体文件逆向转换完成!'); }); ``` 请确保你已经安装了`woff2otf`工具,并且它在你的系统PATH中,否则你需要指定正确的路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值