zip伪加密原理及操作 |
您所在的位置:网站首页 › 网站内容加密是怎么回事啊 › zip伪加密原理及操作 |
原理:一个zip文件由三部分组成:压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志。 具体含义请参照大佬的博客,解释的很详细。http://blog.csdn.net/wclxyn/article/details/7288994 实例
50 4B 01 02:目录中文件文件头标记(0x02014b50) 3F 00:压缩使用的 pkware 版本 14 00:解压文件所需 pkware 版本 00 00:全局方式位标记(有无加密,伪加密的关键) 目录文件标记后4bytes 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 文件注释长度 这个详细的介绍了各部分的含义,修改其压缩源文件目录区的全布局方式标记比特值之后即可对文件加密或解密。 具体操作如下:
压缩源文件数据区:50 4B 03 04:这是头文件标记 压缩源文件目录区: 50 4B 01 02:目录中文件文件头标记 3F 00:压缩使用的 pkware 版本 14 00:解压文件所需 pkware 版本 00 00:全局方式位标记(有无加密,这个更改这里进行伪加密,改为09 00打开就会提示有密码了) 压缩源文件目录结束标志 :50 4B 05 06:目录结束标记 我们用winhex打开压缩包,搜索504B,点击第二个504B(压缩源文件目录区)
------------------------------------------------------------------------------------------------------------ 将全局方式位标记中的09改为00后,打开压缩包 全局方式位标记的四个数字中只有第二个数字对其有影响,其它的不管为何值,都不影响它的加密属性! 第二个数字为奇数时 –>加密 第二个数字为偶数时 –>未加密
那么,如何辨别当前的zip是真的加密还是伪加密? 无加密压缩源文件数据区的全局加密应当为00 00 (504B0304两个bytes之后) 且压缩源文件目录区的全局方式位标记应当为00 00(504B0304四个bytes之后) 假加密压缩源文件数据区的全局加密应当为00 00 且压缩源文件目录区的全局方式位标记应当为09 00 真加密压缩源文件数据区的全局加密应当为09 00 且压缩源文件目录区的全局方式位标记应当为09 00 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |