分析加密字体与原字体文件
测验一中的加密字体(一)
字体的坐标
测验二中的加密字体(一)
字体的坐标
比较两者的字体坐标
我们可发现,不同测验对同一字加密的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)转化为中文

结语
没了,结束,他如果换原字体文件,就是从新跑一下原字体映射字典就行。
【来源:https://blog.gocos.cn/archives/229.html,转载请注明】
0004
0003
0002
0001