[简易教程]如何规避国内网站的OCR审查

by 1901zxc已停用, at 15 January 2019, tags : 科技 审查 点击纠错 点击删除
使用CN2/CN2GIA顶级线路,支持Shadowsocks/V2ray科学上网,支持支付宝付款,每月仅需 5 美元
## 加入品葱精选 Telegram Channel ##

更新:
自制了一个规避OCR的开源程序, 品葱文章链接: https://www.pincong.rocks/article/393

来自我的个人博客, 原博文地址
本教程不够严谨, 不保证能规避所有OCR软件的审查, 毕竟技术一直在进步.
我只是在这提供一个所有人都能学会的简单方法, 不是什么高级技术.希望能帮助墙内网民规避审查.

以下是原文(图片显示可能会出问题, 请点原文链接观看):

欢迎转载, 转载请注明出处, 谢谢

现在国内不少网站已经用上了OCR技术来审查图片内的文字, 和文字一样, 检测到相应敏感词后即删除图片, 以封锁言论. 这里介绍一个简单的方法来规避OCR审查, 以及实测的效果.(本测试不够严谨, 不保证能规避所有OCR软件的审查, 毕竟技术一直在进步)

OCR技术的维基百科介绍

这是本文中测试用的图片:
https://alcatrazhome.files.wordpress.com/2019/01/avoidocroriginal.jpg?w=1100
首先把这个图片上传到某国内大型在线识别平台测试, 很明显, 完全无错误识别
https://alcatrazhome.files.wordpress.com/2019/01/originalocrtest.png?w=1100
现在将图片倒置, 这也是一些国内网民企图规避审查的方式之一, 试试是否有效. 但是很遗憾, 没有有任何作用.
https://alcatrazhome.files.wordpress.com/2019/01/invertimgocr.png?w=1100
现在尝试对图片进行遮盖, 这里使用iOS自带的画笔, 在不影响阅读的前提下对原图片进行涂抹, 同时倒置图片.
https://alcatrazhome.files.wordpress.com/2019/01/toolofpaintocr.png?w=1100
现在再测试一下, 可以发现两个在线OCR识别平台都无法正常识别图片内容, 成功规避了审查. 当然, 正如开头所说, 我不清楚各大网站使用的是不是更加先进的OCR技术, 我这个方法只不过能干扰两个国内大型在线OCR扫描平台, 其他平台我还没有测试.

所以建议各位以后在墙内利用图片传播文字时, 使用上面的方法来规避机器OCR审查, 让你的图片活得更久一些 : )

如果各位还有其他更好的方法, 欢迎分享出来, 谢谢!

品葱用户 清水照子 评论于 2019-01-15

OCR是一种轮廓识别技术,利用类似验证码的干扰背景+撕裂,可以有效对抗。
但麻烦的是普通人通常搞不定,最好是有个在线平台。

品葱用户 **1901zxc已停用

清水照子** 评论于 2019-01-15

是的, 可惜我也没学过图形处理, 有时间研究一下, 看看有没有现成的生成验证码的软件, 尝试着改一下.

品葱用户 rocky 评论于 2019-01-15

OCR计算量不小,应该不会布置吧
话说回来,OCR比反OCR难多了,反OCR我一分钟能想100个点子
不过即使如此,也不建议在非匿名平台发敏感内容
因为你即使做了反OCR,哪天因为别的事栽了,这些东西也可以人工识别事后追责

品葱用户 rocky 评论于 2019-01-15

顺便说一句,OCR其实是很难的,尤其对汉语这样的
楼主测试用的字体太规范,直接用个比较夸张的美术体即可
比如华康娃娃体:)

品葱用户 **1901zxc已停用

清水照子** 评论于 2019-01-15

我刚刚弄出来一个生成类似于验证码的文字图片的软件, 和你说的一样, 背景加上干扰噪点, 连某大型AI识别平台都跪了.

品葱用户 **1901zxc已停用

rocky** 评论于 2019-01-15

早就布置起来了, 不然每次闹事微博上一堆一堆发图片带文字的, 怎么审核, 人工成本更高. 现在OCR在手机本地运算都有不错的识别率了. 百度已经开始推广OCR内容审核了.

品葱用户 **清水照子

1901zxc已停用** 评论于 2019-01-15

可以试下谷歌的AutoML,免费试用,自定训练,以子之矛,攻子之盾

品葱用户 **1901zxc已停用

rocky** 评论于 2019-01-15

因为别的事栽了那就真的无解了, 反正我就是研究研究对抗审查, 也不在国内发什么, 不怕, 我连微博帐号都没有, 就是瞎逛. 我主要还是看到每次事情爆发, 人们都在weibo上传播消息, 却被各种删, 希望尽我所能帮帮他们.

品葱用户 rocky 评论于 2019-01-15

方法太多了
1。用美术字体,比如华文彩云之类
2。每个字随机变化,倾斜(-5度~+5度),缩放(90%~110%)
3。加入随机生成的背景线条
……
几乎都不影响人类阅读,但能瞬间把OCR成功率降到接近0
OCR很难,我在我机器上用软件离线跑了一下你的图,要好几秒,我的配置肯定不算低,所以大规模免费使用的OCR注定是智障级别

品葱用户 何方刁民状告本官 评论于 2019-01-15

这么搞,未免太影响阅读了吧

品葱用户 **1901zxc已停用

rocky** 评论于 2019-01-15

随机变化是怎么做到的呢??(非手动)

品葱用户 **1901zxc已停用

rocky** 评论于 2019-01-15

我都是用在线平台测试的, 都瞬间识别成功, 个人pc的计算力和服务器没有可比性. 你说的随机在背景加入干扰像素的软件我正在弄, 功能完全实现了, 也成功干扰识别,本来是做底层的, 挺长时间没弄这些了, 有点手生

品葱用户 **rocky

1901zxc已停用** 评论于 2019-01-15

用python就可以吧(我没干过,因为我用的其它工具,python就显得麻烦了)
读取字体生成图像

品葱用户 **1901zxc已停用

rocky** 评论于 2019-01-15

你说的艺术字体我试了, 瞬间完美识别.一个字没错

品葱用户 **rocky

1901zxc已停用** 评论于 2019-01-15

我觉得主要是我这个软件没针对中文OCR作优化,服务器再强,不能并行的任务,也就快100倍撑死了,何况你这个例子其实太简单。就是因为OCR计算量太大,我怀疑很多根本没有OCR,只是计算hash对比,或者稍复杂一点,算个直方图,感觉是文字就给拦了。
加噪点是最简单的,但是也是最容易失效的:)
你要真想做,我说一个方法,你找两张真实的照片(一样大),用文字内容作mask,把这两张照片blend一下:)

品葱用户 **rocky

1901zxc已停用** 评论于 2019-01-15

你用华文彩云嘛,再调调间距,让字稍微有点重叠

品葱用户 **rocky

rocky** 评论于 2019-01-15

可能没说清楚,你找两张图片一张叫A,一张叫B,字图叫M(三张一样大小),然后生成一张新图,新图在某点处的像素,如果M在此处的像素是黑色就选A图中的对应像素,是白色的选B:)

品葱用户 **1901zxc已停用

rocky** 评论于 2019-01-15

那些以艺术字我都试了一遍, 包括你说这个.

品葱用户 **1901zxc已停用

rocky** 评论于 2019-01-15

你这个调整文字的….我还是没太看明白. 反正我那个软件以及可以正常使用了, 有时间的话整理一下发出来.

品葱用户 **1901zxc已停用

rocky** 评论于 2019-01-15

关于例子太简单这点, 我上维基百科复制了一大段话, 加了噪点以后送进去识别一下, 还是很快识别好了, 只是一堆错的…..去掉噪点以后依旧识别的很快, 但是噪点很少.
请问为什么加噪点容易失效呢??

品葱用户 **rocky

1901zxc已停用** 评论于 2019-01-15

因为噪点很容易去掉啊,高频噪声很容易过滤掉
我也本地测试了一下,发现现在OCR确实比我想象的强多了
不过加一点扭曲就废了,几乎不影响阅读

品葱用户 **rocky

1901zxc已停用** 评论于 2019-01-15

又测试了几种,人的脑补能力还是比计算机强太多了,尤其是干扰下,即使懒得写代码只用几种滤镜我也能想到各种花式吊打OCR的方法,太无聊了:)

品葱用户 山村野人 评论于 2019-07-03

有没有机器学习的大神解释一下如何反机器学习手段的OCR

品葱用户 antologie 评论于 2020-04-18

技术上来说当然是要以子之矛攻子之盾
去下个开源的验证码生成器打成验证码就好了,
by definition 是难以识别的

至于楼上那些调字体调颜色都是在重新发明验证码

点击品葱原文参与讨论

最简单好用的 VPS,没有之一,注册立得 100 美金
comments powered by Disqus

See Also

[简易教程]如何规避国内网站的OCR审查

更新: 自制了一个规避OCR的开源程序, 品葱文章链接: https://www.pincong.rocks/article/393 来自我的个人博客, 原博文地址 本教程不够严谨, 不保证能规避所有OCR软件的审查, 毕竟技术一直在进步. …