資料介紹
PNG是一種圖像格式,始于1995年,作為一種頗受歡迎的圖像格式,PNG至今仍十分盛行。一般而言,PNG以無損失壓縮或處理透明像素的能力為人所知。然而,我并不想從泛泛的角度去看待不同的圖像格式,而是嘗著用不同的方式讓它們發生故障,你有沒有想過,PNG發生故障時是什么效果呢?
校驗和(Checksum)
讓我們首先來看看校驗和(Checksum)系統中的CRC32算法。這一算法通常用于確認受損圖像,當它偵測到圖像文件受損時,不會在一般的圖片閱讀器上顯現出來。因此,若想使PNG發生故障,用諸如文本編輯器或二進制編輯器重寫部分二進制數據的簡單方法是行不通的。換句話說,“黑掉”PNG之難,難于上青天。
因此,為了能順利“黑掉”PNG,我們需要根據PNG的格式規范(PNG Specification)來做。這意味著,解碼CRC32算法后要對數據進行重寫和重新計算,并將其綁定到已經編輯的數據上。
狀態(State)
接下來,我們看看PNG的轉碼過程。表1簡要地顯示了PNG編碼流工作流程。包括四步:原始數據、過濾后數據、壓縮后數據、格式化的PNG。
表1 PNG編碼流
理論上來說,上述四個步驟都可以成為“下手”的目標。然而,從“原始數據”下手跟從BMP下手一樣,技術上而言,并不能把它稱之為“PNG故障”。而以最后一步“格式化的PNG”為目標也行不通,原因在于上文提到的校驗和系統的工作原理,因此無法產生故障。
現在,能供我們下手的就只有“過濾后數據”或“壓縮后數據”兩個步驟,只要方法正確,就可以使PNG故障形成。當我攻擊“過濾后數據”時,產生的效果非常明顯,故障元素好像花瓣一樣彌漫了整張圖像,過濾器之間的差異在“過濾后數據”受到攻擊時變得尤為明顯。另一方面,“壓縮后數據”故障受到了它們自身的壓縮算法的影響(Deflate壓縮),因此顯示出了一種與雪花噪點類似的圖片效果。
當然,在轉碼過程之外,也有其他的過程能影響PNG故障的圖案,例如透明像素和interlace。
決定PNG故障圖案最重要的決定因素是過濾的過程,這一過程通過某種算法將每一層掃描線的為壓縮像素數據進行轉換,從而提升壓縮效率。過濾包括四種算法和五種過濾類型,分別為Sub、Up、Average、Paeth和None(None為無過濾)。PNG圖像通常在使用最適當的過濾類型對每一層掃描線進行過濾后才開始壓縮,因此,在PNG圖像生成之后,五種壓縮會合為一體。
這五種過濾通常只是促進壓縮效率的提升,因此無論使用哪一層過濾,輸出結果都一樣。然而,當過濾后的數據受到損壞后,輸出結果會顯示出明顯的差異。當一個圖像經過優化,并同時具備上述五種過濾效果后,就很難辨別出不同的過濾效果。然而當同一個單一的過濾應用在每一條掃描線上,圖像出現故障時,差異就很明顯了。
下面我會展示每一種過濾的效果差異,當我們仔細留意不同的效果時,會發覺哪一種過濾會讓PNG故障的部分產生哪種美麗的效果。是的,這些圖像的確很美麗。
- 匝間絕緣故障點的快速定位方法及測試 3次下載
- 邏輯分析儀設計實例 52次下載
- 汽車防盜報警器常見故障原因分析 0次下載
- 幾款示波器常見故障分析與檢修實例_上 21次下載
- 雙蹤示波器故障與維修實例 31次下載
- 幾款示波器常見故障分析與檢修實例_下 11次下載
- 壓縮機故障原因分析PDF 5次下載
- 微機保護裝置逆變電源故障原因分析 20次下載
- 臺州電廠6KV開關柜故障原因分析與對策 20次下載
- 高線軋機故障診斷實例分析 21次下載
- 碰摩故障診斷實例研究 6次下載
- GSM交換故障實例 4次下載
- 汽車前輪擺振的原因與故障排除 9次下載
- 渦旋壓縮機的故喧原因分析和采取的勸策 17次下載
- JKG1型風源凈化器故障原因分析及改進方法 21次下載
- HDMI接口故障原因分析 1466次閱讀
- MongoDB 實例 Crash 的故障現象問題 201次閱讀
- 發電機滅磁開關誤跳閘的故障原因分析及處理 2458次閱讀
- 有哪些原因會造成設備短路和炸機故障現象 3259次閱讀
- 電氣設備的故障原因有哪些 8868次閱讀
- 短路故障產生的原因有哪些_短路故障的危害 2.6w次閱讀
- 高壓變頻器故障產生的原因和處理方法 1.2w次閱讀
- 數控銑床主軸故障實例 3867次閱讀
- 制冷系統的故障分析_制冷系統故障原因 2870次閱讀
- 淺談汽車常見的故障和形成原因 2197次閱讀
- 燃氣灶熱電偶常見故障原因分析及處理辦法(6種故障) 9.7w次閱讀
- 電子電路常見故障現象原因分析 1.5w次閱讀
- 軟啟動器常見故障原因分析及維修 5.8w次閱讀
- 常用的電子元器件失效機理與故障分析 3427次閱讀
- 海信電視故障維修實例速查表 1.1w次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1491次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 4次下載 | 免費
- 8基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537793次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多