美文网首页
一次奇葩的字体加密破解

一次奇葩的字体加密破解

作者: format_b1d8 | 来源:发表于2021-03-19 16:23 被阅读0次

    目标url:易车论坛。

    该论坛进行了部分字体加密的操作,加密文件的url为:https://baa.yiche.com/yc-pc/comment/font/yc-ft.woff

    为什么说奇葩呢,1是因为它是静态的url,不会变,2是加密逻辑字体太多,足足400多个字体的加密,见下图

    加密字体

    我们在页面上看到的数据是这样的:

    加密字体

    页面上的数据是,我们看到的是uni4E00,也就是说,页面上的&#xe和后面的分号是没用的。字体文件中的uni也是没用的。

    我们尝试在4E00前添加\u,得到'\u4E00',根据utf-8的解码数据,得到结果为汉字一

    测试数据

    既然知道规则,就可以建立映射关系,然后根据映射关系挨个替换了。如果你够耐心,就挨个做,如果你够细心,会发现使用fonttools库去做就很快。上代码

                res = requests.get(detail_link,headers = self.headers).text  # 发送评论请求
                # -------------破解字体映射
                world = TTFont('./yc-ft.woff') # 字体文件目录
                value_lists = world.getGlyphOrder()[2:] # 获取所有value值
                d = [eval(r"'\u" + i[3:] + "'") for i in value_lists]  # 待拼接汉字 # 拼接value值为汉字
                d1 = ["&#xe" + i[-3:].lower() + ";" for i in value_lists] # 改成网页内容
                file_dict = dict(zip(d1, d)) # 建立字典映射
                for key in file_dict:
                    res = res.replace(key.lower(), file_dict[key]) # 遇到则替换
                # --------------字体破解结束
    

    吐槽,好奇葩的

    相关文章

      网友评论

          本文标题:一次奇葩的字体加密破解

          本文链接:https://www.haomeiwen.com/subject/pzavcltx.html