某星学不通字体加密分析及解决思路

前言

我就写着玩玩,也不是计算机相关的专业,有错误、表述不清,还请大佬指正。

分析加密字体与原字体文件

  • 测验一中的加密字体(一)

    字体的坐标
  • 测验二中的加密字体(一)

    字体的坐标

    比较两者的字体坐标

我们可发现,不同测验对同一字加密的name值是不同的,也就是说对字的加密是动态的,是通过修改错误的name来实现加密的,导致你复制的时候出来的也是错误的字,但是其字体的坐标点信息是一样的,所以我们可以以字体的坐标来作为切入点,接下来比较一下与官方字体(用的是思源黑体)的区别。

与原字体进行比较

原字体文件中(一)的字体坐标


可以看出,其仅仅是改变了字的name值,字体的坐标点信息并没有更改。

解决思路

我们可以把原字体的name值与其对应的字体坐标做一个映射,例如:

name coordinate(坐标信息再MD5后的数值)
uni2F00 827ccb0eea8a706c4c34a16891f84e7b
uni2F34 b725bb778cfd0cc0c751468d4edc7d32

得到这个映射表后,再把加密字体的坐标信息也做一个映射,例如:

name coordinate(坐标信息再MD5后的数值)
uni651B 827ccb0eea8a706c4c34a16891f84e7b

由于字体的坐标信息没有改变,也就是说,你坐标信息的MD5值没有变
拿着这个MD5值去找到真正的字体name

拿到真正的name之后,将题目的字加密name替换为真正的name
既把uni651B替换为uni2F00,在将字体的unicode值(就是name替换uni为\u)转化为中文

结语

没了,结束,他如果换原字体文件,就是从新跑一下原字体映射字典就行。

标题:某星学不通字体加密分析及解决思路
作者:Ne-21
文章地址:https://blog.gocos.cn/archives/229.html
转载请注明出处,谢谢!
THE END
分享
二维码
打赏
< <上一篇
下一篇>>