美文网首页嵌牛IT观察
从像素化屏幕截图中恢复密码

从像素化屏幕截图中恢复密码

作者: zwh1024 | 来源:发表于2020-12-17 12:36 被阅读0次

学号:17020150056   姓名:张伟航

【嵌牛导读】超神项目,一天获得 4k+ star 的马赛克密码还原——Depix 是一个从像素化/马赛克的截图中恢复密码的工具,它用线性盒式过滤器实现像素化图像还原。在它开源后的一周内,获得了 10.1k star,可见它的神奇之处。

【嵌牛鼻子】马赛克   解马赛克   性盒式过滤器  图像还原 

【嵌牛正文】

参考  https://www.linkedin.com/pulse/recovering-passwords-from-pixelized-screenshots-sipke-mellema

简介

像素化在许多领域被用来模糊图像中的信息。我见过一些公司在内部文档中用像素化的方式显示密码。没有工具可以从这样的图像中恢复密码,所以我创建了一个。本文介绍了去像素化的算法和类似的研究。

该工具在Github上可用,下图显示了其中一个测试结果。

什么是像素化?

像素化,也称为马赛克化。描述了部分降低图像分辨率以筛选信息的过程。本算法的实现采用了普通的线性盒滤波器。线性框过滤器获取一个像素框,并用框中所有像素的平均值覆盖这些像素。它的实现简单,工作速度快,因为它可以并行处理多个块。

下图显示了线性框过滤器的示例。图释的图像分为四个块。块的平均颜色覆盖块的像素,从而生成最终的像素化表情。

去模糊工具、历史和研究

图像可以通过多种方式进行模糊处理,通常称为模糊处理。像素化与盒过滤器可以看作是一个子集模糊技术。大多数模糊算法倾向于分散像素,因为它们试图模仿由抖动的相机或聚焦问题引起的自然模糊。

有许多消除模糊的工具,如锐化模糊的照片。不幸的是,我使用的像素化密码只有几块高,所以没有什么可磨的。

人工智能的最新发展引起了一些花哨的头条新闻,比如“研究人员已经发明了一种可以完全消除面部关系的工具”。然而,人工智能却不这么做。最近的PULSE算法类似于谷歌2016年的raiser算法。人工智能会生成像素化后产生相同图像的人脸,但它恢复的人脸不是原始人脸。

像PULSE这样的算法似乎是新的,但它们源于一系列很长的去模糊工具。M. W. Buie在1994年写了一个工具生成“Plutos”,对其进行模糊处理,并将其与观察到的图像进行匹配。

在2006年的一篇广为人知的文章中,D.Venkatraman解释了一种恢复像素化信用卡号码的算法。想法很简单:生成所有信用卡号码,将其像素化,并将结果与像素化的数字进行比较

2019年,S.Sangwan解释了如何利用Photoshop为OSINT恢复人脸,方法是锐化图像并通过Google Images进行查找。它与其他技术类似,它使用谷歌对图片中的脸部进行“暴力”处理。

注意上述解决方案之间的相似之处。如果没有足够的信息将图像平滑到一起,那么可以选择的技术是将相似的数据像素化并检查是否匹配。从屏幕截图中恢复密码也是我的算法基础

算法描述

由于线性盒滤波器是一种确定性算法,因此将相同的值像素化总是会得到相同的像素化块。像素化相同的文本,使用相同的块位置,将导致相同的块值。我们可以尝试对文本进行像素化以找到匹配的模式。每一个块或块的组合都可以被视为一个子问题。

我没有选择创建潜在字体的查找表。该算法要求在同一背景下具有相同的文本大小和颜色。现代的文本编辑器还添加了色调、饱和度和亮度,允许使用大量的潜在字体设置来拍摄屏幕截图。

这个解决方案非常简单:取一个De Bruijn sequence 的字符序列,将其粘贴到同一个编辑器中,然后制作一个屏幕截图。该截图用作类似块的查找图像。例如:

此序列包括预期字符的所有2字符组合。使用两个字符的组合很重要,因为有些块可以重叠两个字符。

要找到合适的匹配,需要在搜索图像中存在相同配置的像素块。在测试图像中,我的算法找不到“o”的一部分。我注意到这是因为在搜索图像中,搜索块还包括下一个字母的一部分(“d”),但在原始图像中有一个空格。

创建一个带有空格的 De Bruijn 字母序列显然会带来相同的问题:该算法无法为连续字母找到合适的块。同时包含空格和近距字母的图像搜索时间较长,但会产生更好的结果。

对于大多数像素化图像,该工具似乎可以找到块的单个匹配结果。它假设这些是正确的。然后将周围多个匹配块的匹配进行比较,使其与像素化图像中的几何距离相同。这些匹配也被视为正确的。

当正确的块不再有几何匹配后,它将直接输出所有正确的块。对于多匹配块,它输出所有匹配的平均值。它的输出并不完美,但性能相当好。下图显示了一个带有随机字符的测试图像。大多数字符都能正确读懂。

结束语

始终要从图像中完全删除敏感信息,因为模糊处理技术可能会泄露原始值的可恢复部分。

如果有其他工具可以从像素化的图像中恢复密码,我想了解一下。请先在Github存储库中的测试映像上测试它们,然后再声明它们可以工作。我还对其他技术感兴趣,比如像素化块的模式识别。

上面提到的技术完美地链接到了密码学中易受攻击的模式。它类似于散列破解,利用ECB和已知的明文攻击。使用保护数据的最佳做法。假设模式不能被破坏,仅仅因为实现者不知道如何破坏,这是信息安全中常见的陷阱。

我认为人工智能既可以帮助选择正确的方块匹配,也可以看到一般的模式。示例图像显示了一些字符如何突出在顶部,表示像“l”或“h”等字符。此外,像“m”这样的字符会生成更多的暗方块,因为它们有更多压缩的暗像素。因为这些特性,一个为特定字体或模式训练的人工智能应该提高准确性。

相关文章

  • 从像素化屏幕截图中恢复密码

    学号:17020150056 姓名:张伟航 【嵌牛导读】超神项目,一天获得 4k+ star 的马赛克密码还原——...

  • 屏幕尺寸、屏幕分辨率px X px,屏幕像素密度density,

    屏幕尺寸、屏幕分辨率px X px,屏幕像素密度density,像素px,密度无关像素dip,mdpi,hdpi,...

  • Android适配方案

    1、设备宽度的dp计算方法 dp = 屏幕像素宽度/(屏幕像素密度/160) 160是基准屏幕像素密度 ...

  • 直方图均衡化的计算

    计算公式 为原图中的像素值,为均衡化后对应的的像素值。 数值连续情况下 为灰度级,类似于数值离散时的。为不同像素值...

  • 网页截图操作

    当自动化测试遇到问题时,可以使用屏幕截屏的方式还原问题现场,以便定位问题。屏幕截屏使用到方法get_screens...

  • Android 适配

    屏幕尺寸屏幕尺寸指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米 屏幕像素密度屏幕像素密度是指每英寸上的像素...

  • dpr是啥

    DPR也就是设备像素比 设备像素比(dpr) = 设备像素(分辨率)/设备独立像素(屏幕尺寸) 布局视窗:屏幕大...

  • 移动web开发

    屏幕 屏幕尺寸:我们所指的屏幕尺寸,实际上指的是屏幕对角线的长度 像素是一个相对长度单位,像素没有固定的长度 像素...

  • canvas 画圆角矩形头像合成图片

    生成canvas 获取屏幕比率 有的手机屏幕实际分辨率的像素比页面过去的尺寸像素要大,一遍是一倍或者两倍 初始化c...

  • NSLayoutConstraint

    适配 详见适配 屏幕适配 点和像素 在用户眼中屏幕是由无数个像素组成的像素越多,屏幕越清晰 在开发者眼中屏幕是由无...

网友评论

    本文标题:从像素化屏幕截图中恢复密码

    本文链接:https://www.haomeiwen.com/subject/lbfzgktx.html