AI智能去马赛克工具,ai去马赛克手机软件
微信官方账号关注“精彩Linux世界”
设为“星”,每天带你玩Linux!
像素化(也称为马赛克)是一种常见的编码方法,它通过降低图像中某些区域的分辨率来隐藏一些关键信息,例如:
然而,当你想要隐藏信息时,一些技术却反其道而行之,试图将图片恢复到原始状态。
此前一个名为Depix的GitHub项目爆炸,三天内star量已经达到6.9k。项目作者Sipke Mellema是一名信息安全顾问。
项目地址:https://github.com/beurtschipper/Depix
Depix可以从像素化图像截图中恢复原始图像中包含的文本密码。这个项目适用于由线性盒过滤器创建的像素化图像。如下图所示,项目作者给出了像素化图像、还原效果和原始图像的对比结果:
马赛克足够紧密,但Depix已经基本破译了隐藏的信息。
如何使用
使用Depix从像素化图像截图中恢复文本密码也很简单:
矩形像素块的分割;从截图来看;
在具有相同字体设置(包括文本大小、字体、颜色、hsl)的编辑器中,粘贴待处理字符的Debruin。
尽可能使用与像素化图像相同的截图工具,截取这个序列的截图。
执行命令:
Python de pix。py-p[像素化矩形图像]-s[搜索序列图像]-o output.png de pix算法使用线性块滤波器分别处理每个块的事实。它将搜索图像中的每个块像素化,以找到直接匹配。
对于大多数pix图像,Depix试图找到单个匹配结果,并假设这些匹配是正确的。对于周围多个匹配块的结果,在像素化图像中视为相同的几何距离,认为这些匹配也是正确的。这个过程重复多次。
在正确的块不再有几何匹配后,Depix会直接输出所有正确的块。对于多匹配块,Depix将输出所有匹配的平均值。
点击上图打开小程序,“饿了么外卖”红包每天免费领取!
Depix 背后的算法
像素化通常通过线性块滤波器来实现。线性块滤波器的实现非常简单快速,可以并行处理多个块。
因为线性块滤波器是一种确定性算法,所以当相同的值被像素化时,通常会产生相同的像素化块。像素相同的文本与块在相同的位置,你会得到相同的块值。我们可以尝试对文本进行像素化,以找到匹配的模式。幸运的是,这也适用于一些秘密值。我们可以把每个块或块的组合看作一个子问题。
项目作者没有选择创建潜在字体的查找表。该算法要求在相同的背景上具有相同的文本大小和颜色。现代文本编辑器还添加了色调、饱和度和亮度,这意味着有大量潜在的字体。
项目作者给出的解决方案也很简单:使用待处理字符的Debruin序列,粘贴到同一个编辑器中,然后截图。该屏幕截图可用作类似块的查找图像,例如:
Debruin序列包括所有要处理的两个字符的组合。这一点很重要,因为有些块与两个字符重叠。找到合适的匹配需要在图像中搜索具有相同像素配置的块。
在下面的测试图像中,Depix算法找不到“O”的一部分。这是因为在搜索图像中,搜索块也包含下一个字母(“D”)的一部分,但是在原始图像中这里有一个空格。
在字母的Debruin序列中添加空格显然会带来同样的问题:算法无法为后续字母找到合适的块。带有空格和字母的图像搜索时间更长,但结果也更好。
对于大多数pix图像,Depix似乎可以找到block的单个匹配结果,并假设它是正确的。然后,在其周围的多个匹配块的匹配结果被视为在像素化图像中处于相同的几何距离,并且假设这些匹配也是正确的。
在正确的块不再有几何匹配后,Depix直接输出所有正确的块。对于多匹配块,Depix将输出所有匹配的平均值。虽然Depix的输出并不完美,但还不错。
下图显示了包含随机字符的测试图像的像素化结果,其中大多数字符都被正确读取:
对这个项目感兴趣的读者可以自己尝试一下。
以后截图的时候码敏感信息。看来不能简单用“马赛克”了。
参考链接:
https://github.com/beurtschipper/Depix
https://www . LinkedIn . com/pulse/recoverying-passwords-from-pixel ized-截图-sipke-mellema/?tracking id=yYFSUnuxRXasNV/h3zsiw==
本文转载自《机器之心》,原文为https://tinyurl.com/fj9ebtfy,版权归原作者所有。欢迎投稿,邮箱:editor@hi-linux.com。
你可能还喜欢
点击下图阅读。
推荐一个超级实用的工具题目,查看容器系统资源的真实使用情况。
点击上图,“美团饿了么?”外卖红包天天免费。
更多有趣的互联网新闻,关注“精彩互联网”视频号!