Skip to content
TopicTracker
来自 HackerNews查看原文
译文语言译文语言

Show HN: 将任意数据编码为WOFF2彩色字体,通过Canvas解码

brpack 是一个创新的编码工具,能将任意二进制数据伪装成 WOFF2 彩色字体文件。利用 Canvas API 的图像像素读取能力,可以从字体渲染结果中无损还原原始数据。该项目提供了一种新颖的数据隐蔽传输思路,支持在 Web 环境下通过浏览器字体渲染机制完成编解码。

背景速读

- WOFF2 是网页字体的压缩格式,通常用来存储字符形状(字形)。本项目利用 WOFF2 的解压缩算法,把任意二进制数据伪装成一个“彩色字体文件”。 - 项目核心思路:将数据编码为彩色字体的位图(每个“字符”对应一个彩色像素块),生成一个合法的 WOFF2 文件。浏览器加载该字体后,用 Canvas 的 `fillText` 绘制这些“字符”,再通过 `getImageData` 读出像素值,从而还原原始数据。 - 这本质上是一种数据隐写(steganography)或数据通道技术——把 WOFF2 当成容器,利用浏览器自带的字体渲染管线来做解码,不需要 JavaScript 解压库。 - 作者 EtherDream 是国内知名的前端/安全技术研究者,曾发布过多个类似的概念验证项目(如用 PNG 或 SVG 做数据编码)。