abox.tools

語言: 繁體中文

圖片怎麼塗黑,才能讓被遮住的那塊真的沒了

遮住和刪掉在螢幕上一模一樣,實際上完全是兩回事。這裡講清楚區別,講清楚哪兩種做法留下的東西比人們以為的多,也講清楚用什麼辦法能看出自己剛才做的是哪一種。

開啟圖片塗黑與打碼 你遮住的那塊是從檔案裡刪掉的,不是藏在檔案裡。

以 Markdown 檢視

先說結論

開啟圖片塗黑與打碼,把圖片拖進去,在每一處不該被看到的地方拉一個框,然後按「塗黑並儲存」。凡是能讀成文字的,用塗黑。你拿回來的檔案,原來有框的地方畫素值已經不一樣了:裡面沒有可以挪開的矩形,因為裡面根本沒有矩形。

下面講的是最後這句話為什麼才是重點,以及怎麼判斷你已經在用的軟體能不能說同樣的話。

遮住和刪掉,在螢幕上一模一樣

在 PDF 閱讀器、投影片、文書處理軟體或者帶圖層的影像編輯器裡,往一個名字上畫一個黑色矩形。你看到的是一個名字,上面壓著一個黑色矩形。而在這些軟體裡,你儲存下來的多半是一份含著這個名字的文件,外加一個另存的矩形,它有自己的位置、大小和顏色。

拿到這個檔案的人可以把矩形挪開、刪掉,或者換一個按不同順序畫圖層的程式開啟。名字還在裡面。螢幕上看不出剛才發生的是哪一種,而這正是這種事一再發生在有法務部門的機構身上的原因。

法院卷宗、政府報告、合同,還有不止一家報社掃描的檔案,都是這樣流出去的。套路每次都一樣:矩形是註解,而註解不是圖片。

什麼才算真正的塗黑

一張圖片是一格一格的數字,一個畫素一個數字。給它塗黑,就是往這些格子裡寫進別的數字,然後把這些格子儲存下來。這之後沒有什麼可以還原,不是因為檔案藏得好,而是因為那些數值不在檔案裡。只有這一種做法,經得起一個好奇的人把檔案開啟。

由此有三件事,一份真正塗過的檔案就該是這個樣子:

最後這一條值得展開,因為裡面還藏著一個坑。很多照片帶著一份內嵌縮圖:圖片的第二份小副本,在檔案產生時寫下,而在圖片被編輯之後不一定會重新產生。一張被就地修改、而不是被重新編碼的照片,可能帶著塗黑之前的縮圖一起出門。那是一張小圖,但要在上面認出一個名字,綽綽有餘。

儲存卡片:格式選單、品質滑塊,以及一行說明被遮住的畫素會從寫出的檔案裡去掉。
儲存才是讓這件事成真的一步。出來的是沒有那些畫素的新檔案,而不是原檔案加了個矩形。

塗黑、打碼、模糊:為什麼不能劃等號

三種都會覆蓋畫素,只有一種什麼都不留下。

塗黑

框裡每一個畫素都變成同一種顏色。原來那裡的東西什麼都不剩:輪廓不剩,平均亮度不剩,字數不剩,詞有多長也不剩。三種裡只有它能對「這還能被還原嗎」乾脆答一句不能,姓名、地址、帳號、車牌、簽名和條碼都該用它。

打碼

框被切成小格,每一格變成那一格的平均色。原來的畫素確實沒了,但一格一格的平均值仍然是對下面內容的一次測量,而對文字來說,這次測量可能就夠了。

攻擊一點也不精巧。文字來自一個很小的可能集合:一種字型、一個字號、一個位置、一串字元。猜得到那裡原本是哪一類內容的人,可以把每一個候選字串照同樣的方式渲染出來,用同樣的格子打碼,再拿平均值跟你的比。通常只有一個對得上。這在真實的打碼截圖上已經被演示過,也有公開的軟體在做這件事。

起決定作用的是這塊馬賽克由多少格組成。一個詞上面兩格,就是兩個數字,兩個數字確定不了一串字元;同一個詞上面四十格,就是四十個數字,四十個綽綽有餘。這也是這個工具為什麼寧可告訴你圖上最細的那塊馬賽克有多少格,而不是把一個等級叫作「強」:數字是事實,形容詞只是對事實的看法。

模糊

每個畫素變成周圍畫素的加權平均。這是一次卷積,而卷積原則上可以反過來算:從模糊的副本裡把原圖找回來是一個標準問題,有標準軟體,而且它最擅長的恰好就是這裡最要緊的那種情況,也就是用很小的半徑去模糊清晰的文字。

這些並不說明打碼和模糊沒用。街拍背景裡的一張臉、對面樓的門牌號、視訊會議裡你身後同事的螢幕,都很合適,圖片也還像一張圖片。規則只有一句:凡是能讀成文字的,就塗黑。

編輯面板:一張照片的一部分被不透明的方塊蓋住,可選黑色、馬賽克或模糊,還有強度滑塊和已標記區域的摘要。
遮住一樣東西的三種辦法,而這三種並不等價。這一節講的就是,面對試圖還原的人,哪一種撐得住。

發出去之前的四個檢查

加起來一分鐘,對任何工具的結果都適用,也包括這一個。能被你檢查的說法,比要你相信的說法值錢。

  1. 試著選中文字。開啟檔案,在被遮住的地方拖一下。如果有東西被選中,文字還在文件裡,你看到的只是畫在上面的一個形狀。
  2. 用編輯器開啟,找圖層。只有一個叫「背景」之類的圖層,才是一張塗過的圖片該有的樣子。多出一個矩形物件,就說明原圖還在下面。
  3. 看縮圖。有些檔案管理器和看圖軟體顯示的是內嵌縮圖,而不是重新讀圖片。如果小的那張還看得見你遮掉的東西,這個檔案是被改過,而不是被重新做出來的。
  4. 把框的邊緣放到最大。作用在畫素上的塗黑,邊界處是乾脆的硬邊。邊緣發虛或者半透明,說明有東西帶著不透明度畫在上面,而低於 100% 的不透明度,就是一份蒙了一層色的原圖副本。

能裁掉就別遮

如果要藏的東西在圖片邊上,比如帶帳戶名的頁首、瀏覽器分頁、顯示著使用者名稱的工作列,那麼裁掉比遮住更徹底,檔案看起來也更乾淨。沒有一個框需要被懷疑,因為那裡已經什麼都沒有了。

圖片縮放可以裁剪,它還能做什麼見那篇指南。中間的部分再交給塗黑工具。

截圖往往才是最危險的

在一張截圖裡,能認出你的常常不只是圖片本身。發出去之前,看看你想展示的那塊四周還有什麼:視窗標題、位址列和它的補全列表、開著的分頁、一條通知、時間和日期、工作列、角落裡已登入的頭像、無線網路的名字。其中任何一樣都可能定位到你,而它們都不是你按下截圖時在看的東西。

這件事不需要上傳

讀一張圖片、往它的一部分畫素上寫、再重新編碼,這些事瀏覽器已經會做很多年了。護照、工資單或者銀行流水的照片,沒有任何技術上的理由非要跑一趟陌生人的伺服器再回來,只為被蓋上一個黑框。而送進這類工具的,恰恰就是這些圖片。

這裡的工具不會把它們送到任何地方:頁面的 Content-Security-Policy 寫著它能聯絡的每一個地址,沒有一個是本站的。如果你更願意自己查而不是聽人說,那就把頁面載入好,斷網,再照樣塗一張。把檔案傳給線上轉換網站安全嗎?裡還有三個檢查,對任何工具都能做。