先说结论
频繁得让人不安:能。用的不是取证技术,是选中涂黑的地方,按下复制。要藏起什么东西的时候,人们顺手抓来的工具,多数只是在内容上面画一个方块,把方块存在内容旁边。底下的一切都留在文件里,耐心地待着,等谁来看上一眼。
这不是马虎人才犯的稀罕错。它公开过法庭卷宗里的名字,公开过政府报告里没涂到的数字。2025 年 12 月一批案卷集中公布,涂黑的名字几个小时内就被读了出来。犯下这些错的人有律师,有流程。他们缺的是这一页要讲的那个区分:盖住和去掉,是两回事。
方块其实是个对象
在 PDF 阅读器、文字处理器、幻灯片软件或者带图层的图像编辑器里,画上去的黑框不是颜料。它是个对象:一个有位置、有大小、有颜色的图形,作为独立的东西存进文件,挡在一段原封不动的文字前面。文件说的不是“这个词没了”,而是“这个词在这儿,前面有个方块”。
剩下的都顺理成章。选中那块,复制,剪贴板就拿到了文字,因为复制读的是文字层,不理会挡在前面的装饰。用编辑器打开文件,方块可以直接挪开。导出成别的格式,图层可能换个顺序压平。屏幕上,这个方块和真正的涂黑一模一样,错误正因此躲得过审校:眼睛查的是页面,页面看着没毛病。
PDF 还有个更安静的花样。PDF 可以声明某串字形“拼写”的内容和画出来的不一样,这是个无障碍特性,叫 /ActualText。而复制读的是声明,不是墨迹。所以一份文件能泄露一个页面上根本看不见的词。
模糊其实是算术
打马赛克没有感觉上那么保险。马赛克是一格一格的平均值,而平均值是对底下内容的一次测量。测得粗,有损耗,但终究是测量。字体已知、字号可猜的文字,靠这一点就被读回来过:把每个可能的字符串都写出来,逐个渲染,用同样的方式打上马赛克,留下拼图对得上的那个。整个过程不需要实验室,就是一个循环加一次比对。
模糊在原理上更糟。模糊是卷积,输出的每个像素是邻居们的加权平均,而卷积常常可以反着算,效果好到反卷积是摄影界的家常工具,不是什么稀奇的攻击。这两种效果还共享一个和数学无关的毛病:它们昭告天下这里藏了东西,还顺带透露它大概多长。对一个六位的密码来说,这已经是提示了。
纯色填充没有这些性质。一种颜色,从边到边,不携带任何东西的任何测量。所以它是这里图片涂抹工具的默认选项;所以那个工具的马赛克和模糊选项,把自己不担保的事写在自己的标签上;所以力度控制报的是数字,不是形容词。
文件替自己的过去留着的副本
第三类事故和怎么盖没有关系。文件记得住,而屏幕上什么都不显示。
- 照片的元数据里常有一张缩略图,而且是编辑之前那版的缩略图。把家庭住址从照片里裁掉,EXIF 块里可能还留着没裁的原图缩小版。EXIF 查看与清除工具能把那个块亮出来、摘出去,有专门的指南。
- 有些编辑器原地保存,不截断文件。2023 年一对出了名的毛病,一个在某手机的截图涂写工具里,一个在某桌面系统的截图工具里:裁剪之后,原图的字节还留在文件里,被“裁掉”的部分能从剩料里拼回来。
- PDF 能随身带着自己的历史。用增量保存方式编辑的 PDF,把改动追加在文件末尾,之前的版本原样留在里面,删掉的也在。
一条线穿到底:阅读器显示什么,和文件里装着什么,是两个问题。只用眼睛验过的涂黑,只回答了前一个。
真正去掉,要做到什么
真正的涂黑改的是数据,不是画面。而且它可以沿着它可能失手的同一条路来验:问文件,别问屏幕。
对图片,这意味着方块底下的像素在任何文件写出之前就不复存在。图片涂抹工具做的正是这个:被盖住的值先在内存里被改写,然后才交给编码器,所以输出文件里,原来有内容的地方是黑色像素,不是挡在前面的黑墨。分步的做法在图片涂抹指南里。
对 PDF,这意味着字形从绘制页面的指令里被删掉,连同那些藏起来的载体:/ActualText 声明、书签、批注、表单字段。PDF 涂抹工具做的就是这个,然后它做最要紧的一件事:把自己的输出重新打开,在里面搜被删掉的词,只要有一个活了下来,就不给下载。完整的走法在 PDF 涂抹指南里。
不管你在哪儿用哪个工具,验收都归你自己:在涂黑的地方选中再复制;在文件里搜那个删掉的词;换个阅读器打开。内容真去掉了,谁都找不回来。至于一个工具是不是在你的浏览器里做这些、文件有没有离开这台机器,这同样是可以查证而不必轻信的说法,上传那一页教了怎么查。涂抹是唯一一种文件按定义就敏感的活,所以它是最不该借道陌生人服务器的一种。