之前因为要研究“某通”的“科学学习”程序,研究到“章节测试”的时候,发现它那种加密方式挺有意思的,HTML文档中以及复制下来的文本都是“密文”形式,但在页面中查看却赫然看到的是“明文”。之后去研究了一番之后,才知道这种文字加密方式可以被称为——“字体混淆加密”。

原理

字体混淆加密,顾名思义,是利用字体混淆视听从而达到加密的效果。具体来讲就是利用特殊的字体文件,使得密文字体通过此字体文件显示,会表现出明文形态

好似给“密文“套了身伪装服,这样它就能欺骗观众的眼睛,让他们以为自己就是”明文“,然而等观众真正去探查它的本质的时候,却又惊奇地发现事与愿违,只得懵懵地发问一句:“怎么会是它?难道不是xx吗?”

此类加密有个好处就是:真正有价值且需要保护的”明文“,它并不会”身入前线“,而是退居后方,只需要根据自己的模样(字形)制造一些特定的”伪装服“(字体文件),然后就可以让”炮灰“(密文)穿上伪装服(通过字体文件显示)扮演”明文“去”前线“了。这在某种程度上,保护了有价值的”明文“免受”觊觎之徒“的”鹰视狼顾“。毕竟明文就不需要前往危机四伏的”舞台中央“。

破解

  • 直接OCR
  • 间接OCR
  • ……

这里我已知的方法有两种,都是对于”密文的字形是明文的克隆“这一特征的利用。

第一种:直接使用OCR获取明文,但这种方法依赖于”OCR“的精度,并且可拓展性和灵活性较差,但好在简单、便捷、速度快等。

第二种:”间接“使用OCR获取明文,这种方法虽然也依赖于”OCR”的精度,但可拓展性和灵活性较好,这在某种程度上也可以提升OCR的正确率,但差在需要找到”伪装服“(即是”对应字体文件”),因此相对较复杂、麻烦、速度慢

直接OCR

顾名思义,就是把需要获取的文段进行截屏,然后对图片进行OCR,解析其中蕴含的文本信息。

受限于需要对文段进行截屏操作,并且假如对大量文本进行OCR,特别依赖于OCR的精确度。

间接OCR

这里详谈间接OCR思路。

对此我的思路是:

前置条件破解思路解密过程
获取混淆字体文件密文–>字形输入加密字符串
获取密文字形–>字形图像加密字符映射到明文
字形图像–>明文非加密字符不变
密文–>明文输出解密后的明文字符串

间接OCR实践思路

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

作者

3049874370@qq.com

相关文章

有关于 PIL 的字形坐标系的部分分析

话不多说,先上代码! 接下来不得不提到有关于...

读出全部