0

0

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

P粉084495128

P粉084495128

发布时间:2025-07-29 10:48:07

|

548人浏览过

|

来源于php中文网

原创

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

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

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

序言

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

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

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

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

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

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

参考资料

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

像素化(马赛克)是什么

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

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

一些消除马赛克的尝试

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组合看作一个子问题。

自由画布
自由画布

百度文库和百度网盘联合开发的AI创作工具类智能体

下载

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

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

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

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

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

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

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

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

算法实验

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

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简介 - php中文网        

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

制作自己的解密系统

掌握了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 average results for multiple matches to output
INFO:root:Saving output image to: output3.png
       

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

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

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

相关专题

更多
github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

79

2026.01.21

页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

404

2023.08.14

PHP 命令行脚本与自动化任务开发
PHP 命令行脚本与自动化任务开发

本专题系统讲解 PHP 在命令行环境(CLI)下的开发与应用,内容涵盖 PHP CLI 基础、参数解析、文件与目录操作、日志输出、异常处理,以及与 Linux 定时任务(Cron)的结合使用。通过实战示例,帮助开发者掌握使用 PHP 构建 自动化脚本、批处理工具与后台任务程序 的能力。

32

2025.12.13

Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

9

2026.01.22

html编辑相关教程合集
html编辑相关教程合集

本专题整合了html编辑相关教程合集,阅读专题下面的文章了解更多详细内容。

56

2026.01.21

三角洲入口地址合集
三角洲入口地址合集

本专题整合了三角洲入口地址合集,阅读专题下面的文章了解更多详细内容。

28

2026.01.21

AO3中文版入口地址大全
AO3中文版入口地址大全

本专题整合了AO3中文版入口地址大全,阅读专题下面的的文章了解更多详细内容。

385

2026.01.21

妖精漫画入口地址合集
妖精漫画入口地址合集

本专题整合了妖精漫画入口地址合集,阅读专题下面的文章了解更多详细内容。

116

2026.01.21

java版本选择建议
java版本选择建议

本专题整合了java版本相关合集,阅读专题下面的文章了解更多详细内容。

3

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 13.1万人学习

Django 教程
Django 教程

共28课时 | 3.4万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号