Image 与OCR逆向工程作斗争

Image 与OCR逆向工程作斗争,image,text,ocr,piracy,Image,Text,Ocr,Piracy,我指的是基于软件的OCR?图像到文本引擎转换工具,stackoverflow在构建OCR方面有大量帖子,但我的观点正好相反,就像任何关于如何保护我的图像免受逆向工程影响的指南一样 例如,我有只包含文本的图像,我如何使任何人都难以解码数据,是否有任何理想的图像格式可以做到这一点?或者我们可以模糊图像 使用特殊字体或失真可以保证OCR保护吗?虽然我的要求不允许提供太多的扭曲文本 任何方向都会很有帮助我认为你做不到。对于验证码,是的,有大量的研究,但你也会从个人经验中知道阅读它们是多么烦人。对于较长的

我指的是基于软件的OCR?图像到文本引擎转换工具,stackoverflow在构建OCR方面有大量帖子,但我的观点正好相反,就像任何关于如何保护我的图像免受逆向工程影响的指南一样

例如,我有只包含文本的图像,我如何使任何人都难以解码数据,是否有任何理想的图像格式可以做到这一点?或者我们可以模糊图像

使用特殊字体或失真可以保证OCR保护吗?虽然我的要求不允许提供太多的扭曲文本


任何方向都会很有帮助

我认为你做不到。对于验证码,是的,有大量的研究,但你也会从个人经验中知道阅读它们是多么烦人。对于较长的文本,这是不可能的。不过,我会认真质疑这里的用例或业务模型。由于某种原因,您有一些内容需要保护以防OCR。这意味着有人愿意花费资源来OCR你的内容。你为什么要和那些人打架?让他们成为客户,以纯文本形式提供内容,并收取一定费用。如果该费用低于他们的OCR成本,您将获得双赢。您试图实现的内容听起来像是两败俱伤

据我所知,您有一些受版权保护的文本集,人类应该可以清楚地阅读这些文本,但您不希望这些文本以电子形式从服务器泄漏出去。我不认为混淆文本使其更难进行OCR是一个好主意,因为这会使其无法被人类阅读,特别是如果文本非常长的话。基本上,对人类来说容易阅读的东西可以完全进行OCR-ed。对OCR来说困难的东西对人类来说也是困难的。在最坏的情况下,攻击者可能会雇佣一家印度公司来手动重新键入文本,实际上这并不昂贵

我会建议你寻找其他方面的保护。您的用例是什么样子的?为什么用户可以在他们的PC上以图像的形式获取您的文本?他们下载的是PDF还是图像文件?在这种情况下,与下载文件的可能性作斗争要简单得多,而不是使其无法读取

例如,您可能会考虑不立即授予对整个文件的访问权限,而是通过进入下一页所需的人机交互逐页显示该文件。您甚至可能会扰乱您的web界面,使其无法通过典型的站点下载实用程序下载所有内容。每个页面都应该显示在相同的URL上,但实际的导航应该是通过AJAX甚至一些专有接口与服务器通信

另一种方法是在每个页面上制作大量人类看不见的虚假链接,但它们会误导下载工具,使其下载大量错误内容,或者以错误的顺序下载,使其无法使用

如果你能成功地对抗自动下载,你甚至不需要以图像的形式提供你的内容,它可以是纯文本,但只是其中的一小部分。无论如何,它将无法使用


希望这能给你一些思路。

正如我和其他人所说,使大量文本变得足够模糊,以至于OCR无法读取,这将使其对人类不切实际

你有没有想要打败的特定威胁?简单的web爬虫程序通常不执行javascript,因此一种使文本更难抓取的愚蠢方法是使用AJAX请求加载文本并将其插入DOM


或者,如果你想变得更激烈,你可以在Flash或Silverlight控件中显示文本——仍然不是OCR证明,但这将使自动抓取大量文本变得非常简单,特别是如果你有Flash滚动条和/或分页。(我应该指出,像文本这样简单的东西的Flash控件使用起来很烦人,无法搜索或添加书签,显然在大多数移动设备上都不起作用。)

我看到一些页面使用不可见的字母和文本中的其他“噪音”来混淆文本。这样,您仍然可以将其显示为文本,同时使其更难复制


另一个想法可能是以某种方式给文本添加水印,以识别“被盗”副本的来源。这是否有用取决于您想要保护什么。如前所述,如果它可读,有人可以手动复制它。

您是否正在寻找CAPCHA来验证登录,以避免垃圾邮件?如果是,则应使用现有组件。或者您正在尝试发布文档并希望避免扫描它?如果是这样的话,我相信OCR引擎已经足够先进了,任何OCR证明都会让你的读者非常讨厌。@HenryJackson-你猜对了,我正在发布长文档供人们阅读。为什么你说OCR证明方式令人恼火?如果这需要在低级编程中进行高端研究,它愿意尝试一下。如果你能阅读,你可以(理论上)进行OCR。@aldrin你是对的,这就是为什么captcha.net和Google的图像如此模糊,以至于人类很难阅读。我需要显示受版权保护的内容,只是为了阅读目的,在这个时候,在内容使用过程中有一些烦人的体验是可以接受的,因为内容是以受限的方式提供的,我看到有几个免费的在线工具/机器人,用于顺序下载和整个内容的文本转换。在某种程度上,开发人员拒绝DRM,因为它从来都不是完全证明。您正在尝试解决一个无法解决的问题。我认为一个好的工程师的一个特点是,你向商务人士指出那些事情,而不是点头,试图实现不可能的事情。也就是说,你真正想要谷歌搜索的是一些操作系统或硬件实现的受保护的视频(或音频)路径。它试图禁止在操作系统级别进行屏幕抓取,并且可能与您正在寻找的内容最接近。