字体混淆加密
之前因为要研究“某通”的“科学学习”程序,研究到“章节测试”的时候,发现它那种加密方式挺有意思的,HTML文档中以及复制下来的文本都是“密文”形式,但在页面中查看却赫然看到的是“明文”。之后去研究了一番之后,才知道这种文字加密方式可以被称为——“字体混淆加密”。
原理
字体混淆加密,顾名思义,是利用字体来混淆视听从而达到加密的效果。具体来讲就是利用特殊的字体文件,使得密文字体通过此字体文件显示,会表现出明文形态。
好似给“密文“套了身伪装服,这样它就能欺骗观众的眼睛,让他们以为自己就是”明文“,然而等观众真正去探查它的本质的时候,却又惊奇地发现事与愿违,只得懵懵地发问一句:“怎么会是它?难道不是xx吗?”
此类加密有个好处就是:真正有价值且需要保护的”明文“,它并不会”身入前线“,而是退居后方,只需要根据自己的模样(字形)制造一些特定的”伪装服“(字体文件),然后就可以让”炮灰“(密文)穿上伪装服(通过字体文件显示)扮演”明文“去”前线“了。这在某种程度上,保护了有价值的”明文“免受”觊觎之徒“的”鹰视狼顾“。毕竟明文就不需要前往危机四伏的”舞台中央“。
破解
- 直接OCR
- 间接OCR
- ……
这里我已知的方法有两种,都是对于”密文的字形是明文的克隆“这一特征的利用。
第一种:直接使用OCR获取明文,但这种方法依赖于”OCR“的精度,并且可拓展性和灵活性较差,但好在简单、便捷、速度快等。
第二种:”间接“使用OCR获取明文,这种方法虽然也依赖于”OCR”的精度,但可拓展性和灵活性较好,这在某种程度上也可以提升OCR的正确率,但差在需要找到”伪装服“(即是”对应字体文件”),因此相对较复杂、麻烦、速度慢。
直接OCR
顾名思义,就是把需要获取的文段进行截屏,然后对图片进行OCR,解析其中蕴含的文本信息。
受限于需要对文段进行截屏操作,并且假如对大量文本进行OCR,特别依赖于OCR的精确度。
间接OCR
这里详谈间接OCR思路。
对此我的思路是:
| 前置条件 | 破解思路 | 解密过程 |
| 获取混淆字体文件 | 密文–>字形 | 输入加密字符串 |
| 获取密文 | 字形–>字形图像 | 加密字符映射到明文 |
| … | 字形图像–>明文 | 非加密字符不变 |
| … | 密文–>明文 | 输出解密后的明文字符串 |
作者
3049874370@qq.com
