V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
MrhuangSTR
V2EX  ›  Python

关于字体加密

  •  1
     
  •   MrhuangSTR · 2020-04-28 17:13:03 +08:00 · 3491 次点击
    这是一个创建于 1668 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    10 条回复    2020-04-30 09:40:11 +08:00
    nyanyh
        1
    nyanyh  
       2020-04-28 17:56:36 +08:00
    直接 OCR 识别怎么样
    imn1
        2
    imn1  
       2020-04-28 18:05:50 +08:00
    不需要吧,有个映射表就行了,程序可以搞定
    MrhuangSTR
        3
    MrhuangSTR  
    OP
       2020-04-28 22:42:29 +08:00
    @nyanyh 那种返回的网页源码字体是乱码的也能行吗
    MrhuangSTR
        4
    MrhuangSTR  
    OP
       2020-04-28 22:43:31 +08:00
    @imn1 关键就是这个映射表,怎么让字和编码或者字体的 xy 坐标一一对应起来
    qwlhappy
        5
    qwlhappy  
       2020-04-28 23:17:54 +08:00
    最后是想要文字还是字体?能不能给个样例网站观赏下 :P
    MrhuangSTR
        6
    MrhuangSTR  
    OP
       2020-04-29 09:53:48 +08:00
    @qwlhappy 最后是想要解密成正常的文字。https://www.cods.org.cn/ 这个网站,查询一次看信用代码和公司名字字体都加密了。
    chenstack
        7
    chenstack  
       2020-04-29 15:08:52 +08:00
    可以考虑获取字体中所有字元绘制到图片然后 ocr
    或者如果能知道是哪种源字体的话,直接用读入源字体比较 glyf,获取映射关系
    MrhuangSTR
        8
    MrhuangSTR  
    OP
       2020-04-29 18:45:58 +08:00
    @chenstack 可以从网站上获取到的字体却不能从源字体找到,这种怎么破
    MrhuangSTR
        9
    MrhuangSTR  
    OP
       2020-04-29 18:46:51 +08:00
    @chenstack 从抓取的网站下下载下来的字体不一定能在源字体中找到
    chenstack
        10
    chenstack  
       2020-04-30 09:40:11 +08:00
    @MrhuangSTR 看 css 字体名称是 SourceHanSansCN-Normal,用网上的字体试了一下,只有一部分能匹配,可能该网站的字体混入了粗体等非 normal 的字体
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3002 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:15 · PVG 22:15 · LAX 06:15 · JFK 09:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.