打码就安全了?像素化(马赛克)破解技术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组合看作一个子问题。

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

最终解决方案:使用待处理字符的 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.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,我们也可以根据算法的要求准备自己的德布鲁因序列与带测试马赛克截图。一个关键点是,字体大小一致。这个简单操作实际做起来还有一丢丢麻烦。

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
       

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

       

       


# 自动化  # 这是  # 的是  # 该项目  # 我们可以  # 有个  # 是一种  # 卡号  # 自己的  # 布鲁  # 穷举  # python  # ocr  # 算法  # github  # register  # for  # notepad  # 聊天软件  # ai  # windows  # git 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 网络优化91478 】 【 技术知识72672 】 【 云计算0 】 【 GEO优化84317 】 【 优选文章0 】 【 营销推广36048 】 【 网络运营41350 】 【 案例网站102563 】 【 AI智能45237


相关推荐: Agentic Testing入门:使用Playwright和Claude Code构建自动化框架  百度输入法智能预测怎么关 百度输入法ai联想词关闭  Feelin网页版在线入口 Feelin官方网站导航  去哪旅行ai抢票助手怎样添加备选车次_去哪旅行ai抢票助手备选车次设置与切换【攻略】  百度AI搜索怎样搜索百科知识_百度AI搜索百科频道与词条跳转【技巧】  提升房地产业务:AI语音助手赋能房地产经纪公司  ChatGPT怎样一键生成PPT_ChatGPT生成PPT方法【步骤】  途牛旅游AI怎样设置抢票提醒_途牛AI抢票提醒时间与频率设置【方法】  AI简历泛滥:虚假技能与企业衰落的深度剖析  豆包AI能否用提示词调整回答深度_豆包AI深度控制提示词技巧【方法】  Gacha Club反应视频解析:探索热门角色和独特剧情  TechInternPath.ai:AI驱动的实习之路,助你梦想成真  宠物翻译App评测:与猫狗交流的未来科技?  Logic Pro 11更新全面解析:免费升级、AI功能与音乐制作流程  如何用AI设计一个Logo?5个步骤教你打造专属品牌标志  Gemini手机端怎么开无障碍_Gemini无障碍设置方法【步骤】  ChatGPT 辅助自媒体博主进行选题与大纲策划  优化《现代战争2》色彩:提升游戏视觉体验终极指南  终极游戏工作站:帝王蝎椅沉浸式体验评测  通义千问网页版怎么切换账号_通义千问账号切换步骤【指南】  如何让ChatGPT模仿特定文风 创意写作与品牌话术生成教程  AI邮件营销风险解析:如何规避客户触达的潜在陷阱  留学文书PS怎么写?教你用AI写出招生官眼前一亮的个人陈述  MetaGPT:AI驱动的软件开发团队,颠覆传统编码模式  AI图像生成偏见:克服与优化,打造更真实的数字形象  AI驱动的潜在客户挖掘:15分钟搭建营销机构并获利  InZOI游戏评测:AI驱动的模拟人生,是创新还是噱头?  Tradie Hub:领先的线索管理系统,助力业务增长  AI人像摄影新纪元:Gemini AI助力照片编辑  如何用 ChatGPT 快速生成短视频分镜脚本  E-LabVine:AI赋能的数字化学习平台,提升高中学业表现  MediCa AI:AI赋能的智能医疗保健平台全面解析  TRX40主板终极对决:3990X散热性能深度评测  ChatGPT一键生成PPT怎么加动画_ChatGPTPPT动画添加【指南】  Claude怎样写引导型提示词_Claude引导提示词写法【方法】  tofai官网最新入口地址 tofai网页版免下载  11月电动两轮车线上销售排名出炉:九号份额达26.9%  提升Fortnite OG游戏性能:NVIDIA控制面板最佳设置  2025最佳AI效率工具:释放生产力,革新业务运营  微信AI数字人怎样创建_微信AI数字人创建流程与形象定制【教程】  讯飞星火怎么一键生成|直播|话术_讯飞星火话术生成与节奏把控【教程】  小米汽车OTA冬季大版本升级:新增和优化共计9项功能  微信AI数字人如何设置工作时间_微信AI数字人时段开关与值班安排【实操】  AI驱动SaaS增长:AppSumo $700万美金业务增长策略揭秘  飞猪旅行AI如何预约抢票_飞猪AI抢票预约与加速包使用【攻略】  Runway Gen-2怎么用 Runway视频生成AI使用教程  ChatGPT 处理超长 PDF 文件的核心步骤  怎么用AI帮你写一份客户感谢信?维系客户关系的利器  Pictory AI视频制作平台深度评测:功能、价格与使用指南  人工智能时代:你需要知道的真相和未来趋势 

 2025-07-29

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

南京市珐之弘网络技术有限公司


南京市珐之弘网络技术有限公司

南京市珐之弘网络技术有限公司专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。

 87067657

 13565296790

 87067657@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.