新闻中心
打码就安全了?像素化(马赛克)破解技术Depix简介
本文介绍了能破解文本马赛克的Depix项目。其基于线性方框滤波器原理,利用德布鲁因序列生成查找图像,通过匹配像素化区块还原文本,非AI生成式恢复。该项目有字体等限制,用法简单,可结合OCR实现自动化,前人曾用穷举法,作者批判了GAN的生成式恢复。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

序言
像素化(马赛克)是一种常见的打码方式,通过降低图像中部分区域的分辨率来隐藏某些关键信息。不过,道高一尺魔高一丈啊……
比如本文介绍了的这个相当有意思的破解马赛克项目Depix,Github上线三天近7000 star,目前,已接近15000 star。
毕竟这个效果看起来相当好了,如果自制数据集配合PaddleOCR识别,恐怕连识别部分都不需要人工干预了
接下来,我们就试着研究下这个项目。
参考资料
- 原文介绍:Recovering passwords from pixelized screenshots
- Depix项目地址
- De Bruijn Sequence Generator for Faster Shift Register Code Bruteforcing
- 打马赛克就安全了吗?AI消除马赛克,GitHub开源项目上线三天收获近7000星
像素化(马赛克)是什么
首先,作者介绍了马赛克的原理。作者说道,他要破解的目标是使用普通线性滤波器的像素化结果。我们不妨认为下面这个表情包可以分割成四个大小相同的方块,那么,通过线性滤波器每个方块会得到一个计算结果,再用这个结果填充该方块内输出图像上每个像素点的值。所以,我们会看到,这个笑脸完全在输出结果中完全被隐藏了,这就是马赛克最简单的实现方式之一。
一些消除马赛克的尝试
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妙多是一款AI驱动的界面设计工具,定位为“AI时代设计工具”
334
查看详情
项目的局限:作者没有选择创建潜在字体的查找表。该算法要求在相同背景上具备相同的文本大小和颜色。
最终解决方案:使用待处理字符的 De Bruijn sequence (德布鲁因序列),将其粘贴到相同的编辑器中,然后截图。该截图可以用作相似 block 的查找图像。
问题:什么是De Bruijn sequence?到这个网站试试看就知道啦。De Bruijn Sequence Generator for Faster Shift Register Code Bruteforcing
德布鲁因序列包括待处理字符的所有双字符组合。这很重要,因为一些block会重叠两个字符。找出恰当的匹配需要搜索图像中具备相同像素配置的block——换句话说,穷举地更完善了,这样将像素化的block与匹配block对照的时候,匹配上的概率更高。双字符德布鲁因序列:
在以下测试图像中,Depix 算法无法找到「o」的一部分。这是因为在搜索图像中,搜索 block 还包含下一个字母(「d」)的一部分,但在原始图像中这里有个空格。——换言之,这个算法有个比较大的缺点,那就是对“匹配”要求比较苛刻
算法实验
该项目用法相当简单,一行命令搞定:
python depix.py -p [pixelated rectangle image] -s [search sequence image] -o output.pngIn [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/DepixIn [ ]
!python depix.py -p images/testimages/testimage3_pixels.png -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png -o output.png
移除马赛克效果
制作自己的解密系统
掌握
了Depix,我们也可以根据算法的要求准备自己的德布鲁因序列与带测试马赛克截图。一个关键点是,字体大小一致。这个简单操作实际做起来还有一丢丢麻烦。
!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简介的详细内容,更多请关注其它相关文章!
# 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接口是什么


2025-07-29
浏览次数:次
返回列表