关于字体加密

2020-04-28 17:13:03 +08:00
 MrhuangSTR

之前遇到过某评的加密,字体文件总字体数好像 600 多个,很多博客也将全部的字体发出来了,解密思路也是:就是下载字体文件然后转成 xml 文件,解析获取 xml 文件中的字体 xy 坐标点,然后以该字体的 xy 坐标点作为键,该字体文件的对应的字作为值存到一个基础映射表里(dict),下次网站继续更换字体文件同样解析字体文件难道 xy 坐标点去遍历字典即可拿到对应的字体。

该种做法是你已经有全部的字体作为基础,但是遇到有的网站字体文件包含几千的字体,难道需要先按照顺序手打一遍全部的字体去做映射吗?各位大佬有什么好的方法吗

3295 次点击
所在节点    Python
10 条回复
nyanyh
2020-04-28 17:56:36 +08:00
直接 OCR 识别怎么样
imn1
2020-04-28 18:05:50 +08:00
不需要吧,有个映射表就行了,程序可以搞定
MrhuangSTR
2020-04-28 22:42:29 +08:00
@nyanyh 那种返回的网页源码字体是乱码的也能行吗
MrhuangSTR
2020-04-28 22:43:31 +08:00
@imn1 关键就是这个映射表,怎么让字和编码或者字体的 xy 坐标一一对应起来
qwlhappy
2020-04-28 23:17:54 +08:00
最后是想要文字还是字体?能不能给个样例网站观赏下 :P
MrhuangSTR
2020-04-29 09:53:48 +08:00
@qwlhappy 最后是想要解密成正常的文字。https://www.cods.org.cn/ 这个网站,查询一次看信用代码和公司名字字体都加密了。
chenstack
2020-04-29 15:08:52 +08:00
可以考虑获取字体中所有字元绘制到图片然后 ocr
或者如果能知道是哪种源字体的话,直接用读入源字体比较 glyf,获取映射关系
MrhuangSTR
2020-04-29 18:45:58 +08:00
@chenstack 可以从网站上获取到的字体却不能从源字体找到,这种怎么破
MrhuangSTR
2020-04-29 18:46:51 +08:00
@chenstack 从抓取的网站下下载下来的字体不一定能在源字体中找到
chenstack
2020-04-30 09:40:11 +08:00
@MrhuangSTR 看 css 字体名称是 SourceHanSansCN-Normal,用网上的字体试了一下,只有一部分能匹配,可能该网站的字体混入了粗体等非 normal 的字体

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/667002

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX