zip格式僞加密

僞加密通過修改zip文件中的編碼實現,通過修改zip文件中的通用標記位在解壓時判斷爲已加密。
先看看zip文件的編碼格式吧:
放上格式參考來源:http://blog.sina.com.cn/s/blog_4c3591bd0100zzm6.html
zip文件由三部分組成:1、 壓縮的文件內容源數據 2、壓縮的目錄源數據 3、目錄結束標識結構
放上要用到的兩個部分:
這裏寫圖片描述
這裏的文件頭標識在winhex裏顯示爲504B0304,不清楚爲什麼和圖中的值位置顛倒

這裏寫圖片描述
目錄源數據文件頭標識在winhex裏顯示爲504B0102

用winhex軟件打開一個未加密的zip壓縮包:
這裏寫圖片描述
分析開頭部分的數據:
文件頭標識:504B0304
解壓文件所需版本:0A00
通用位標記:0000 (這裏是全局通用位標記,作用就是標記是否加密,如果壓縮時設置了密碼這裏會標記爲0900,僞加密改不改這裏沒什麼影響)

然後用16進制搜索目錄源數據的開頭標記504B0102
這裏寫圖片描述
分析標記的數據:
目錄文件標識:504B0102
壓縮採用版本:3F00
解壓所需版本:0A00
通用位標記:0000 (把這裏的通用位標記改爲0900即可實現僞加密)

壓縮包裏用幾個文件就會有幾個目錄文件標識,改動一個目錄文件標識下的通用位標記只會令那一個文件加密,如下圖:
這裏寫圖片描述
改動多個通用位標記則可以實現對多個文件加密。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章