网页字体加密原理(学习通为例)

11,183 阅读1分钟

前言

使用学习通网页做题的时候,想复制题目,结果得到的是乱码,打开源码一看,原来是对字体进行了加密

image.png

原理分析

unicode

unicode规定了汉字的编码,如这个字对应的unicode编码是uni5E72 比如我下载了一个字体,用软件打开如fontCreator,就可以找到

image.png

学习通怎么做的

这道题中,这几个字是font-cxsecret字体,这个字体,就是学习通的加密字体,这个字体的位置可以在head中找到

image.png image.png

把这个加密字体保存下来打开

image.png

好像并没有啥问题,实际上并不是,我拿 举例,在学习通的字体中,编号为uni5B24,但在常规字体中,的编号是uni7535

学习通字体规定的uni5B24的形状 image.png

常规字体,或者说unicode规定uni5B24的形状 image.png

回到网页,我们可以看到,对应的就是 image.png

结论

学习通这招不可谓很巧(yin)妙(xian),总的来说,学习通的字体加密有以下几步

  1. 在这道题目中随机选择几个字,进行加密,如要加密这个字,先把的字体形状找到,让这个字体形状对上另一个编号如uni5B24,生成字体,字体中包含加密的字 image.png

  2. 把原来网页中正常的字改成加密后的编码

  3. 让加密字的字体属于加密字体

ref

blog.csdn.net/litang19961… blog.csdn.net/qq_35741999…