選擇png格式檔案進行分析
問題與解答:
1png基本資訊
png即Portable Network Graphics–便攜式網絡圖形,是一種無損壓縮的位圖檔形格式,其設計目的是試圖替代GIF和TIFF檔案格式,同時增加一些GIF檔案格式所不具備的特性。PNG使用從LZ77派生的無損資料壓縮算法,一般應用于JAVA程式、網頁或S60程式中,原因是它壓縮比高,生成檔案體積小。
2png有哪些特點
- 使用調色闆技術可支援256種顔色的彩色圖像;
- 流式讀/寫性(streamability):圖像檔案格式允許連續讀出和寫入圖像資料;
- 逐次逼近顯示(progressivedisplay):這種特性可使在通信鍊路上傳輸圖像檔案的同時就在終端上顯示圖像,把整個輪廓顯示出來之後逐漸顯示圖像的細節,也就是先用低分辨率顯示圖像,然後逐漸提高它的分辨率;
- 透明性(transparency):這個性能可使圖像中某些部分不顯示出來,用來建立一些有特色的圖像。
- 輔助資訊(ancillary information):這個特性可用來在圖像檔案中存儲一些文本注釋資訊;
- 獨立于計算機軟硬體環境;
- 使用無損壓縮;
- 可在一個檔案中存儲多幅圖像。
3png的檔案結構
png檔案由署名與資料塊組成
4署名所含資訊
8位元組的PNG檔案署名域用來識别該檔案是不是PNG檔案;
5資料塊所含資訊
資料塊分為關鍵資料塊與輔助資料塊。
其中關鍵資料塊有四個标準資料塊:
- 檔案頭資料塊IHDR
- 調色闆資料塊PLTE
- 圖像資料塊IDAT
- 圖像結束資料IEND
PNG檔案格式規範制定了10個輔助資料塊:
- 背景顔色資料塊bKGD
- 基色和白色度資料塊cHRM
- 圖像γ資料塊gAMA
- 圖像直方圖資料塊hIST
- 實體像素尺寸資料塊pHYs
- 樣本有效位資料塊sBIT
- 文本資訊資料塊tEXt
- 圖像最後修改時間資料塊tIME
- 圖像透明資料塊tRNS
- 壓縮文本資料塊zTXt
6分析舉例
發現win10自帶截圖軟體所或圖像預設儲存為png格式,現對一截圖簡單分析:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2YfNWawNyROBlLwgjM5ATN1IjM5IzMwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
用二進制打開該截圖檔案
即可對應分析png檔案中個資料塊的内容
如前八個位元組的檔案頭标志,辨別着png檔案,接下來為IHDR資料塊,0000 000d說明IHDR頭塊長為13,4948 4452IHDR辨別,接下來為圖像尺寸,00 00 00 59表示寬為89,00 00 00 5A表示高為90,
依照此法即可對應找到各資料塊所包含的資訊。