开源一个字体混淆工具

2019-12-03 12:15:03 +08:00
 songjiaxin2008

这个项目已经在线上运行一阵子,去掉了一些敏感信息开源出来。

https://github.com/solarhell/fontObfuscator

使用了久经考验的fontTools包。

基础字体使用的是 https://github.com/minjiex/kaigen-gothic

这个字体覆盖了大部分的 CJK 字符(相比其他的开源中文字体)。

5782 次点击
所在节点    分享创造
20 条回复
jprovim
2019-12-03 12:26:59 +08:00
思路新颖
imn1
2019-12-03 12:53:41 +08:00
哇靠,头一次见这样的思路
liyang5945
2019-12-03 13:00:57 +08:00
six six six
est
2019-12-03 13:03:41 +08:00
我记得还有 per-user 动态生成的。
wangxiaoaer
2019-12-03 13:06:25 +08:00
@imn1 #2 好像点评、电商之类很早就用了。
wangxiaoaer
2019-12-03 13:07:44 +08:00
楼主这个工具是不是根据输入的明文生成一个新的字体文件?
okwork
2019-12-03 13:08:12 +08:00
目前支持那几种字体的混淆啊?
songjiaxin2008
2019-12-03 13:13:26 +08:00
@est #4 您是说每个用户都生成不同的字体吗?这个可以业务接入侧做一下。

@wangxiaoaer #6 是的 相当于一个字体子集化 把需要混淆的字体 单独打出一个文件。

@okwork #7 目前支持的比较好的就是这个内嵌的 https://github.com/minjiex/kaigen-gothic 因为我们的场景需要用到一些生僻汉字作为密文。微软雅黑或者别的常见字体可能缺失了这部分生僻字。另外一个就是考虑到某些字体不可以免费商用。
songjiaxin2008
2019-12-03 13:14:59 +08:00
@okwork #7 如果你想要用特定的字体,可以 clone 下来测试一下。可能会有一些小问题,不过改一下应该能工作。( TrueType 和 OpenType 有一些差异)
xenme
2019-12-03 13:19:58 +08:00
建议是支持 per user 的,否则用处真不大,针对性的太容易破解了,况且现在 OCR 的识别率超级高。
TimePPT
2019-12-03 14:27:34 +08:00
@xenme 对的,印刷字体 OCR 一把梭 233
JCZ2MkKb5S8ZX9pq
2019-12-03 16:28:59 +08:00
万一碰到用户缺字体回退到不同字体,或者渲染设置不一样的话,视觉体验可能会很差。
好像见过几次类似的页面。
songjiaxin2008
2019-12-03 18:01:14 +08:00
@JCZ2MkKb5S8ZX9pq #12 谢谢反馈。我这边选择的基础字体基本是覆盖了常用+生僻的 CJK 字符,之前也有尝试过别的字体,字型缺失会变成一个方块。
songjiaxin2008
2019-12-03 18:01:28 +08:00
@JCZ2MkKb5S8ZX9pq #12 综合考虑选择了这款比较全面的字体。
songjiaxin2008
2019-12-03 18:09:43 +08:00
@xenme #10 per-user 还是需要业务使用这个库的时候 做一些额外的策略。
字型这方面其实还有很多可以做的事,比如自定义 glyph,都是为了提高爬虫成本。
gaoryrt
2019-12-03 18:15:59 +08:00
反爬第一步
a719114136
2019-12-03 18:19:22 +08:00
嗯,看看
JCZ2MkKb5S8ZX9pq
2019-12-03 18:27:54 +08:00
@songjiaxin2008 不是指缺字的问题,而是字体不一致。
比如整篇文章原本是萍方字体,个别字替代为图片 /svg/嵌入字体,比如雅黑,那看上去有可能会有点不同。
不同字体常见问题,比如笔画粗细,中宫大小,基线高低,默认行距,等等问题。

极端例子,比如我看安卓用户,有些会用很个性化的字体,手写体之类的,忽然出现个替换字体就很明显。
我之前看到的情况是替换了 30 左右,非常高频,比如的得地基本都换了,导致整篇文字基线起伏连绵。

可能发生率不高,或者一般人注意不到。我就是提一下有这个可能性。
xupefei
2019-12-03 18:47:03 +08:00
很多年前,这种技术在游戏汉化圈用过。为了防止别人提起汉化文本。
坏处就是我把加密前后的对应表弄丢了,现在自己也还原不了了。
myqoo
2019-12-05 16:38:56 +08:00
写个浏览器扩展破解太容易了

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

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

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

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

© 2021 V2EX