易语言资源网 - 做最全的易语言资源下载社区
精易论坛授权登录

woff文件字体解析 分析+源码   [复制链接]

    2019-11-30 09:03:16
    2019开源大赛(第四届)
    易语言资源网
    5553 次浏览
    来源链接

反爬

有时候你可能会遇到下面这种情况

明明这个字以明文的形式呈现在眼前 但复制粘贴确是乱码

分析

打开网页源码 找到关键字 可以发现标题下面一行字以【&#x】开头的编码

shift + c 跟中元素后可以发现 这个字体编码指向【PingFangSC-Regular】这个css位置中

跟入css里 发现其加载了 【63f94cca.eot】这个字体文件

在来源中搜 【63f94cca】发现文件却是以woff结尾的文件 可能是谷歌浏览器对其做的兼容

要搞定字体解析 先要知道.WOFF 是啥

WOFF的映射关系 一个编码对应一个字体

搞清楚这个是啥情况后 就要解决woff文件解析的问题了
当然是让万能的 Js来帮忙解析
借助【百度字体解析平台】(该网站纯JS解析woff,不过不知道为啥好像不好使了)

分析过程省略...

扣下Js文件并改写 (AMD框架 改的比较傻)

再借助ChakraCore引擎支持高级语法

返回如下结果 {"keys":[],"values":[]} (文本太长 删了一些开头的)

如上图所示 有个密密麻麻的文本 如下

咱把这个文本格式叫做svg

svg又是啥呢

里边的path解析 可参考https://www.jianshu.com/p/c819ae16d29b这篇文章

那么如何绘制呢
接下来就要借助gdi来绘制了

绘制过程 省略....

以上这个绘制还不够完善 但勉强能够使用的

效果



点我下载 (已有 208 次下载)

引用模块


源码文件名 模块文件名
svg_ec.e
精易模块.ec
woff解析 QQ857984597 Ossian.ec
woff_ec.e
ChakraCoreJS引擎.ec


引用支持库


源码文件名 支持库文件名 支持库标识
svg_ec.e 系统核心支持库 5.7 d09f2340818511d396f6aaf844c7e325
特殊功能支持库 3.1 A512548E76954B6E92C21055517615B0
woff_ec.e 系统核心支持库 5.7 d09f2340818511d396f6aaf844c7e325
特殊功能支持库 3.1 A512548E76954B6E92C21055517615B0


[错误报告]   上一篇:反CE或OD内存扫描/读取/修改...     下一篇:文件批量改名工具...