ZIP僞加密 實例 測試(二)

ZIP可以,RAR或者其他的不行
首先看看前置知識:
感謝大佬https://blog.csdn.net/u011377996/article/details/79286958

爲了方便大家,這裏直接複製過來

原理


zip僞加密是在文件頭的加密標誌位做修改,進而再打開文件時識被別爲加密壓縮包。

背景


首先,我們來看zip文件頭協議。這裏以中文資料爲證,但是仍然建議大家去http://www.pkware.com 閱讀官方文檔,雖然英文讀起來有些困難。

實例

下面給出西普的一個實例:


壓縮源文件數據區:

50 4B 03 04:這是頭文件標記(0x04034b50)
14 00:解壓文件所需 pkware 版本
00 00:全局方式位標記(有無加密)
08 00:壓縮方式
5A 7E:最後修改文件時間
F7 46:最後修改文件日期
16 B5 80 14:CRC-32校驗(1480B516)
19 00 00 00:壓縮後尺寸(25)
17 00 00 00:未壓縮尺寸(23)
07 00:文件名長度
00 00:擴展記錄長度
6B65792E7478740BCECC750E71ABCE48CDC9C95728CECC2DC849AD284DAD0500

壓縮源文件目錄區:

50 4B 01 02:目錄中文件文件頭標記(0x02014b50)
3F 00:壓縮使用的 pkware 版本
14 00:解壓文件所需 pkware 版本
00 00:全局方式位標記(有無加密,這個更改這裏進行僞加密,改爲09 00打開就會提示有密碼了)
08 00:壓縮方式
5A 7E:最後修改文件時間
F7 46:最後修改文件日期
16 B5 80 14:CRC-32校驗(1480B516)
19 00 00 00:壓縮後尺寸(25)
17 00 00 00:未壓縮尺寸(23)
07 00:文件名長度
24 00:擴展字段長度
00 00:文件註釋長度
00 00:磁盤開始號
00 00:內部文件屬性
20 00 00 00:外部文件屬性
00 00 00 00:局部頭部偏移量
6B65792E7478740A00200000000000010018006558F04A1CC5D001BDEBDD3B1CC5D001BDEBDD3B1CC5D001

壓縮源文件目錄結束標誌:

50 4B 05 06:目錄結束標記
00 00:當前磁盤編號
00 00:目錄區開始磁盤編號
01 00:本磁盤上紀錄總數
01 00:目錄區中紀錄總數
59 00 00 00:目錄區尺寸大小
3E 00 00 00:目錄區對第一張磁盤的偏移量
00 00:ZIP 文件註釋長度

猜想


所以如果把一個zip文件的文件頭或者加密標誌位進行適當修改,那就可能會改變文件的可讀性了唄!

測試(一)


親測例子:先壓縮一個1.zip,再用Winhex打開,如下圖:


壓縮源文件數據區:

50 4B 03 04:這是頭文件標記
14 00:解壓文件所需 pkware 版本
00 00:全局方式位標記(有無加密)
08 00:壓縮方式
07 76:最後修改文件時間
F2 48:最後修改文件日期
……

壓縮源文件目錄區:

50 4B 01 02:目錄中文件文件頭標記(0x02014b50)
1F 00:壓縮使用的 pkware 版本
14 00:解壓文件所需 pkware 版本
00 00:全局方式位標記(有無加密,這個更改這裏進行僞加密,改爲09 00打開就會提示有密碼了)
08 00:壓縮方式
07 76:最後修改文件時間
F2 48:最後修改文件日期
……
如果把第二個加密標記位的00 00改爲09 00,打開就會提示有密碼:



於是乎,這樣就達到了zip僞加密的目的,可是這裏又有一個疑問了,你可能會問,爲什麼改成09,而不是其他的數字呢,其實改成09只是舉的一個例子,只要末位是奇數,就代表加密,反之,末位是偶數代表未加密(這是我猜想的,具體操作也符合我的猜想,可我不知道這個原理是什麼,如果你瞭解的話,歡迎來分享分享~_

測試(二)

猜想:

既然加密標誌位可以修改,那頭文件標記位應該也能修改吧,試試咯~:



把文本區原來顯示的PK位的50 4B改成其他數據,再打開zip文件:



顯然,這樣也使zip文件不可讀!

識別真假加密

無加密

壓縮源文件數據區的全局加密應當爲00 00
且壓縮源文件目錄區的全局方式位標記應當爲00 00

假加密

壓縮源文件數據區的全局加密應當爲00 00
且壓縮源文件目錄區的全局方式位標記應當爲09 00

真加密

壓縮源文件數據區的全局加密應當爲09 00
且壓縮源文件目錄區的全局方式位標記應當爲09 00

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