資料介紹
PNG是一種圖像格式,始于1995年,作為一種頗受歡迎的圖像格式,PNG至今仍十分盛行。一般而言,PNG以無(wú)損失壓縮或處理透明像素的能力為人所知。然而,我并不想從泛泛的角度去看待不同的圖像格式,而是嘗著用不同的方式讓它們發(fā)生故障,你有沒(méi)有想過(guò),PNG發(fā)生故障時(shí)是什么效果呢?
校驗(yàn)和(Checksum)
讓我們首先來(lái)看看校驗(yàn)和(Checksum)系統(tǒng)中的CRC32算法。這一算法通常用于確認(rèn)受損圖像,當(dāng)它偵測(cè)到圖像文件受損時(shí),不會(huì)在一般的圖片閱讀器上顯現(xiàn)出來(lái)。因此,若想使PNG發(fā)生故障,用諸如文本編輯器或二進(jìn)制編輯器重寫(xiě)部分二進(jìn)制數(shù)據(jù)的簡(jiǎn)單方法是行不通的。換句話(huà)說(shuō),“黑掉”P(pán)NG之難,難于上青天。
因此,為了能順利“黑掉”P(pán)NG,我們需要根據(jù)PNG的格式規(guī)范(PNG Specification)來(lái)做。這意味著,解碼CRC32算法后要對(duì)數(shù)據(jù)進(jìn)行重寫(xiě)和重新計(jì)算,并將其綁定到已經(jīng)編輯的數(shù)據(jù)上。
狀態(tài)(State)
接下來(lái),我們看看PNG的轉(zhuǎn)碼過(guò)程。表1簡(jiǎn)要地顯示了PNG編碼流工作流程。包括四步:原始數(shù)據(jù)、過(guò)濾后數(shù)據(jù)、壓縮后數(shù)據(jù)、格式化的PNG。
表1 PNG編碼流
理論上來(lái)說(shuō),上述四個(gè)步驟都可以成為“下手”的目標(biāo)。然而,從“原始數(shù)據(jù)”下手跟從BMP下手一樣,技術(shù)上而言,并不能把它稱(chēng)之為“PNG故障”。而以最后一步“格式化的PNG”為目標(biāo)也行不通,原因在于上文提到的校驗(yàn)和系統(tǒng)的工作原理,因此無(wú)法產(chǎn)生故障。
現(xiàn)在,能供我們下手的就只有“過(guò)濾后數(shù)據(jù)”或“壓縮后數(shù)據(jù)”兩個(gè)步驟,只要方法正確,就可以使PNG故障形成。當(dāng)我攻擊“過(guò)濾后數(shù)據(jù)”時(shí),產(chǎn)生的效果非常明顯,故障元素好像花瓣一樣彌漫了整張圖像,過(guò)濾器之間的差異在“過(guò)濾后數(shù)據(jù)”受到攻擊時(shí)變得尤為明顯。另一方面,“壓縮后數(shù)據(jù)”故障受到了它們自身的壓縮算法的影響(Deflate壓縮),因此顯示出了一種與雪花噪點(diǎn)類(lèi)似的圖片效果。
當(dāng)然,在轉(zhuǎn)碼過(guò)程之外,也有其他的過(guò)程能影響PNG故障的圖案,例如透明像素和interlace。
決定PNG故障圖案最重要的決定因素是過(guò)濾的過(guò)程,這一過(guò)程通過(guò)某種算法將每一層掃描線(xiàn)的為壓縮像素?cái)?shù)據(jù)進(jìn)行轉(zhuǎn)換,從而提升壓縮效率。過(guò)濾包括四種算法和五種過(guò)濾類(lèi)型,分別為Sub、Up、Average、Paeth和None(None為無(wú)過(guò)濾)。PNG圖像通常在使用最適當(dāng)?shù)倪^(guò)濾類(lèi)型對(duì)每一層掃描線(xiàn)進(jìn)行過(guò)濾后才開(kāi)始?jí)嚎s,因此,在PNG圖像生成之后,五種壓縮會(huì)合為一體。
這五種過(guò)濾通常只是促進(jìn)壓縮效率的提升,因此無(wú)論使用哪一層過(guò)濾,輸出結(jié)果都一樣。然而,當(dāng)過(guò)濾后的數(shù)據(jù)受到損壞后,輸出結(jié)果會(huì)顯示出明顯的差異。當(dāng)一個(gè)圖像經(jīng)過(guò)優(yōu)化,并同時(shí)具備上述五種過(guò)濾效果后,就很難辨別出不同的過(guò)濾效果。然而當(dāng)同一個(gè)單一的過(guò)濾應(yīng)用在每一條掃描線(xiàn)上,圖像出現(xiàn)故障時(shí),差異就很明顯了。
下面我會(huì)展示每一種過(guò)濾的效果差異,當(dāng)我們仔細(xì)留意不同的效果時(shí),會(huì)發(fā)覺(jué)哪一種過(guò)濾會(huì)讓PNG故障的部分產(chǎn)生哪種美麗的效果。是的,這些圖像的確很美麗。
- FANUC系統(tǒng)共性故障排除及故障分析 4次下載
- 電氣設(shè)備故障檢測(cè)診斷方法及實(shí)例 0次下載
- 繼電保護(hù)用開(kāi)關(guān)電源的故障分析及措施綜述 14次下載
- 常見(jiàn)電動(dòng)機(jī)故障原因分析資料下載
- 實(shí)例:觸摸屏故障的診斷處理方法資料下載
- 邏輯分析儀設(shè)計(jì)實(shí)例 54次下載
- 汽車(chē)防盜報(bào)警器常見(jiàn)故障原因分析 0次下載
- 汽車(chē)發(fā)動(dòng)機(jī)回火放炮故障原因分析 0次下載
- 幾款示波器常見(jiàn)故障分析與檢修實(shí)例_上 23次下載
- 幾款示波器常見(jiàn)故障分析與檢修實(shí)例_下 12次下載
- 壓縮機(jī)故障原因分析PDF 6次下載
- 微機(jī)保護(hù)裝置逆變電源故障原因分析 20次下載
- 高線(xiàn)軋機(jī)故障診斷實(shí)例分析
- 碰摩故障診斷實(shí)例研究
- GSM交換故障實(shí)例
- 變頻器缺相故障原因分析及維修方法 5944次閱讀
- 電能質(zhì)量分析儀的常見(jiàn)故障及原因分析 790次閱讀
- 繼電保護(hù)測(cè)試儀的常見(jiàn)故障及原因分析 1361次閱讀
- 鉗形電流表的常見(jiàn)故障及原因分析 3794次閱讀
- 矢量網(wǎng)絡(luò)分析儀的常見(jiàn)故障和原因分析 1412次閱讀
- 示波器探頭的常見(jiàn)故障和原因分析 1085次閱讀
- 功率分析儀的常見(jiàn)故障和原因分析 1415次閱讀
- 相位噪聲分析儀的常見(jiàn)故障和原因分析 775次閱讀
- 數(shù)控銑床主軸故障實(shí)例 4547次閱讀
- 制冷系統(tǒng)的故障分析_制冷系統(tǒng)故障原因 3309次閱讀
- 淺談汽車(chē)常見(jiàn)的故障和形成原因 2626次閱讀
- 燃?xì)庠顭犭娕汲R?jiàn)故障原因分析及處理辦法(6種故障) 10w次閱讀
- 電子電路常見(jiàn)故障現(xiàn)象原因分析 1.6w次閱讀
- 軟啟動(dòng)器常見(jiàn)故障原因分析及維修 6.2w次閱讀
- 海信電視故障維修實(shí)例速查表 1.1w次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1491次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 5開(kāi)關(guān)電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費(fèi)
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機(jī)和 SG3525的程控開(kāi)關(guān)電源設(shè)計(jì)
- 0.23 MB | 4次下載 | 免費(fèi)
- 8基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專(zhuān)業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537793次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論