修改文件头的加密标志位修复伪加密的zip文件
首先,我们来了解一下zip的文件头格式:
一个zip文件有如下三个部分组成:
1.压缩源文件数据区 2.压缩源文件目录区 3.压缩源文件目录结束标志 (详解链接)
这是三个头标记,主要看第二个
压缩源文件数据区:50 4B 03 04:这是头文件标记
压缩源文件目录区:
50 4B 01 02:目录中文件文件头标记
3F 00:压缩使用的 pkware 版本
14 00:解压文件所需 pkware 版本
00 00:全局方式位标记(有无加密,这个更改这里进行伪加密,改为09 00打开就会提示有密码了)
压缩源文件目录结束标志 :50 4B 05 06:目录结束标记
我们用UE打开压缩包,搜索504B。
注意!我们可以看到不止有一个全局方式位标记(也就是跟在14 00后面的数字),根据我失败的经验,最好是把所有14 00后面都改成00 00!