zip伪加密做法及原理
總結(jié)一下偽加密題的解法,首先偽加密是指對(duì)zip文件的標(biāo)志位進(jìn)行修改,然后達(dá)到加密的效果,實(shí)際上并沒(méi)有加密。
一個(gè) zip 文件由三個(gè)部分組成:
壓縮源文件數(shù)據(jù)區(qū)+壓縮源文件目錄區(qū)+壓縮源文件目錄結(jié)束標(biāo)志
例:有一個(gè)偽加密zip文件,用winhex工具打開查看其十六進(jìn)制編碼,如下
首先需要了解一下這些16進(jìn)制數(shù)的作用才能知道為什么要這樣寫,不要為了做題而做題。
壓縮源文件數(shù)據(jù)區(qū):
50 4B 03 04:這是頭文件標(biāo)記(0x04034b50)
14 00:解壓文件所需 pkware 版本
00 00:全局方式位標(biāo)記(有無(wú)加密)
08 00:壓縮方式
5A 7E:最后修改文件時(shí)間
F7 46:最后修改文件日期
16 B5 80 14:CRC-32校驗(yàn)(1480B516)
19 00 00 00:壓縮后尺寸(25)
17 00 00 00:未壓縮尺寸(23)
07 00:文件名長(zhǎng)度
00 00:擴(kuò)展記錄長(zhǎng)度
6B65792E7478740BCECC750E71ABCE48CDC9C95728CECC2DC849AD284DAD0500b
壓縮源文件目錄區(qū):
50 4B 01 02:目錄中文件文件頭標(biāo)記(0x02014b50)
3F 00:壓縮使用的 pkware 版本
14 00:解壓文件所需 pkware 版本
08 00:壓縮方式
5A 7E:最后修改文件時(shí)間
F7 46:最后修改文件日期
16 B5 80 14:CRC-32校驗(yàn)(1480B516)
19 00 00 00:壓縮后尺寸(25)
17 00 00 00:未壓縮尺寸(23)
07 00:文件名長(zhǎng)度
24 00:擴(kuò)展字段長(zhǎng)度
00 00:文件注釋長(zhǎng)度
00 00:磁盤開始號(hào)
00 00:內(nèi)部文件屬性
20 00 00 00:外部文件屬性
00 00 00 00:局部頭部偏移量
6B65792E7478740A00200000000000010018006558F04A1CC5D001BDEBDD3B1CC5D001BDEBDD3B1CC5D001
壓縮源文件目錄結(jié)束標(biāo)志:
50 4B 05 06:目錄結(jié)束標(biāo)記
00 00:當(dāng)前磁盤編號(hào)
00 00:目錄區(qū)開始磁盤編號(hào)
01 00:本磁盤上紀(jì)錄總數(shù)
01 00:目錄區(qū)中紀(jì)錄總數(shù)
59 00 00 00:目錄區(qū)尺寸大小
3E 00 00 00:目錄區(qū)對(duì)第一張磁盤的偏移量
00 00 1A:ZIP 文件注釋長(zhǎng)度
找到 50 4B 01 02
把 09 改為 00 文件另存為,再打開就無(wú)加密了。
注意:09 是一個(gè)例子,末位為奇數(shù),代表加密,為偶數(shù)代表未加密。
識(shí)別真?zhèn)渭用?/strong>:
無(wú)加密:
壓縮源文件數(shù)據(jù)區(qū)的全局加密應(yīng)當(dāng)為00 00
且壓縮源文件目錄區(qū)的全局方式位標(biāo)記應(yīng)當(dāng)為00 00
偽加密:
壓縮源文件數(shù)據(jù)區(qū)的全局加密應(yīng)當(dāng)為00 00
且壓縮源文件目錄區(qū)的全局方式位標(biāo)記應(yīng)當(dāng)為09 00
真加密:
壓縮源文件數(shù)據(jù)區(qū)的全局加密應(yīng)當(dāng)為09 00
且壓縮源文件目錄區(qū)的全局方式位標(biāo)記應(yīng)當(dāng)為09 00
總結(jié)
以上是生活随笔為你收集整理的zip伪加密做法及原理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 使用Hexo 搭建 blog过程
- 下一篇: html练习记录