新闻中心

打码就安全了?像素化(马赛克)破解技术Depix简介

2025-07-29
浏览次数:
返回列表
本文介绍了能破解文本马赛克的Depix项目。其基于线性方框滤波器原理,利用德布鲁因序列生成查找图像,通过匹配像素化区块还原文本,非AI生成式恢复。该项目有字体等限制,用法简单,可结合OCR实现自动化,前人曾用穷举法,作者批判了GAN的生成式恢复。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

打码就安全了?像素化(马赛克)破解技术depix简介 -

序言

像素化(马赛克)是一种常见的打码方式,通过降低图像中部分区域的分辨率来隐藏某些关键信息。不过,道高一尺魔高一丈啊……

比如本文介绍了的这个相当有意思的破解马赛克项目Depix,Github上线三天近7000 star,目前,已接近15000 star。

打码就安全了?像素化(马赛克)破解技术Depix简介 -        

毕竟这个效果看起来相当好了,如果自制数据集配合PaddleOCR识别,恐怕连识别部分都不需要人工干预了

打码就安全了?像素化(马赛克)破解技术Depix简介 -        

接下来,我们就试着研究下这个项目。

参考资料

  • 原文介绍:Recovering passwords from pixelized screenshots
  • Depix项目地址
  • De Bruijn Sequence Generator for Faster Shift Register Code Bruteforcing
  • 打马赛克就安全了吗?AI消除马赛克,GitHub开源项目上线三天收获近7000星

像素化(马赛克)是什么

首先,作者介绍了马赛克的原理。作者说道,他要破解的目标是使用普通线性滤波器的像素化结果。我们不妨认为下面这个表情包可以分割成四个大小相同的方块,那么,通过线性滤波器每个方块会得到一个计算结果,再用这个结果填充该方块内输出图像上每个像素点的值。所以,我们会看到,这个笑脸完全在输出结果中完全被隐藏了,这就是马赛克最简单的实现方式之一。

打码就安全了?像素化(马赛克)破解技术Depix简介 -        

一些消除马赛克的尝试

Depix并不是凭空产生的,前人的工作成果给了作者很大的启发。如果在缺少可以还原图像的已知信息,过往的研究方案无一例外地选择了看似最“笨”的办法:如果我要破解某个信用卡号,那就对所有信用卡号它们进行像素化,然后将恢复结果与被像素化的卡号进行比较。我们可以理解这类匹配的方式,类似于穷举。

熟悉GAN技术的读者可能知道,理论上我们可以通过GAN在某种程度上实现马赛克“消除”。但是,用AI技术的话,恢复的马赛克区域本质上是生成的,并不是真正的原始结果。本文中,作者对此也批判了一番:The AI generates faces that result in the same image when pixelized, but the face it recovers is not the original.

算法介绍

首先明确研究的场景还是有限制的,这是基于文本的马赛克恢复研究。

由于线性方框滤波器是一种确定性算法,对同样的值执行像素化通常会产生同样的像素化 block。使用同样位置的 block 对相同文本执行像素化,会得到同样的 block 值。我们可以尝试像素化文本来找出匹配的模式。更幸运的是,我们还可以把每个block或block组合看作一个子问题。

Motiff妙多 Motiff妙多

Motiff妙多是一款AI驱动的界面设计工具,定位为“AI时代设计工具”

Motiff妙多 334 查看详情 Motiff妙多

项目的局限:作者没有选择创建潜在字体的查找表。该算法要求在相同背景上具备相同的文本大小和颜色。

最终解决方案:使用待处理字符的 De Bruijn sequence (德布鲁因序列),将其粘贴到相同的编辑器中,然后截图。该截图可以用作相似 block 的查找图像。

问题:什么是De Bruijn sequence?到这个网站试试看就知道啦。De Bruijn Sequence Generator for Faster Shift Register Code Bruteforcing

打码就安全了?像素化(马赛克)破解技术Depix简介 -        

德布鲁因序列包括待处理字符的所有双字符组合。这很重要,因为一些block会重叠两个字符。找出恰当的匹配需要搜索图像中具备相同像素配置的block——换句话说,穷举地更完善了,这样将像素化的block与匹配block对照的时候,匹配上的概率更高。双字符德布鲁因序列:

打码就安全了?像素化(马赛克)破解技术Depix简介 -        

在以下测试图像中,Depix 算法无法找到「o」的一部分。这是因为在搜索图像中,搜索 block 还包含下一个字母(「d」)的一部分,但在原始图像中这里有个空格。——换言之,这个算法有个比较大的缺点,那就是对“匹配”要求比较苛刻

打码就安全了?像素化(马赛克)破解技术Depix简介 -        

算法实验

该项目用法相当简单,一行命令搞定:

python depix.py -p [pixelated rectangle image] -s [search sequence image] -o output.png
    In [3]
# !git clone https://github.com/beurtschipper/Depix
       
Cloning into 'Depix'...
remote: Enumerating objects: 89, done.
remote: Total 89 (delta 0), reused 0 (delta 0), pack-reused 89
Unpacking objects: 100% (89/89), done.
Checking connectivity... done.
        In [1]
%cd Depix/
       
/home/aistudio/Depix
        In [ ]
!python depix.py -p images/testimages/testimage3_pixels.png -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png -o output.png
   

移除马赛克效果

打码就安全了?像素化(马赛克)破解技术Depix简介 -        

打码就安全了?像素化(马赛克)破解技术Depix简介 -        

制作自己的解密系统

掌握了Depix,我们也可以根据算法的要求准备自己的德布鲁因序列与带测试马赛克截图。一个关键点是,字体大小一致。这个简单操作实际做起来还有一丢丢麻烦。

In [6]
!python depix.py -p images/testimages/21.png -s images/searchimages/03.png -o output3.png
       
INFO:root:Loading pixelated image from images/testimages/21.png
INFO:root:Loading search image from images/searchimages/03.png
INFO:root:Finding color rectangles from pixelated space
INFO:root:Found 62 same color rectangles
INFO:root:45 rectangles left after moot filter
INFO:root:Found 11 different rectangle sizes
INFO:root:Finding matches in search image
INFO:root:Removing blocks with no matches
INFO:root:Splitting single matches and multiple matches
INFO:root:[2 straight matches | 38 multiple matches]
INFO:root:Trying geometrical matches on single-match squares
INFO:root:[4 straight matches | 36 multiple matches]
INFO:root:Trying another pass on geometrical matches
INFO:root:[4 straight matches | 36 multiple matches]
INFO:root:Writing single match results to output
INFO:root:Writing *erage results for multiple matches to output
INFO:root:S*ing output image to: output3.png
       

这里用某知名聊天软件的截图马赛克功能做了个尝试,手法比较粗糙,把上下左右行的字符给混进来了,导致效果不太好,不过,也许火眼金睛的读者能猜出加密的什么。哈哈。

打码就安全了?像素化(马赛克)破解技术Depix简介 -        

打码就安全了?像素化(马赛克)破解技术Depix简介 -        

以上就是打码就安全了?像素化(马赛克)破解技术Depix简介的详细内容,更多请关注其它相关文章!


# git  # 云南seo排名方案公司  # 东莞网站建设排名靠前  # 网站???优化?件  # 全年营销推广计划  # 乐器市场营销推广方案  # 折扣店营销推广文案  # 我们可以  # 有个  # 是一种  # 卡号  # 自己的  # 一言  # 布鲁  # 穷举  # 打码  # 中文网  # udio  # notepad  # 聊天软件  # ai  # windows  # python  # 广告营销推广费用多少  # 阳泉关键词排名方法优化  # 邯郸seo亅驰捷网络  # 平顶山网络营销推广软件 


相关栏目: 【 行业资讯67740 】 【 技术百科0 】 【 网络运营39195


相关推荐: 市盈率pe是什么意思  反向春运抢票方式  5g手机4g卡怎么没有网络  typescript如何开发  linux如何调出命令行  折叠屏手机为什么没火  如何提高固态硬盘性能  汽车中控导航机power线是什么意思  access 如何输入命令  笔记本电脑多少钱  三星相机里power是什么意思  电动车仪表盘上的power是什么意思  春运抢票最新技巧与方法  手机拍电脑屏幕有条纹怎么解决  怎么自学typescript  老电脑如何装固态硬盘  typescript变量是什么  solidworks打开IGS文件作图教程  华为如何面对苹果16  苹果16如何预购  如何管理员打开cmd命令行窗口  eraser是什么意思  苹果16讲解有哪些功能  广东春运抢票怎么抢的  如何用adb命令停用系统软件  空调控制面板power灯一直亮是什么意思  calm是什么意思  360n4怎么关闭锁屏壁纸  typescript数据怎么写  awk命令如何对两列加分隔符  手机如何运行ping命令  市盈率300是什么意思  夸克为什么老是投屏失败  市盈率20a21e是什么意思  手机全功能type-c接口是什么意思  如何安装固态硬盘win10  苹果16有哪些变化尺寸  苹果16promax有哪些颜色  为什么夸克运行不了  j*a中怎么截取数组  如何用dos命令启动u盘  跑步机power键是什么意思  命令不执行如何处理  夸克缺什么登录不了  单片机怎么判定高电平  vivo手机nfc功能是什么意思  如何引用typescript中的方法  夸克的答案为什么不对  营收和gmv区别_营收和gmv有什么区别  索尼type-c接口是什么 

搜索