ZIP是一种相当简单的分别压缩每个文件的存档格式。分别压缩文件允许不必读取另外的数据而检索独立的文件;理论上,这种格式允许对不同的文件使用不同的算法。不管用何种方法,对这种格式的一个告诫是对于包含很多小文件的时候,存档会明显的比压缩成一个独立的文件(在类Unix系统中一个经典的例子是普通的tar.gz存档是由一个使用gzip压缩的TAR存档组成)要大。

ZIP支持基于对称加密系统的一个简单的密码,现在已知有严重的缺陷,已知明文攻击,字典攻击和暴力攻击。ZIP也支持分卷压缩。在近来一段时间,ZIP加入了包括新的压缩和加密方法的新特征,不过这些新特征并没有被许多工具所支持并且没有得到广泛应用。

ZIP文件是一种压缩文件,可进行加密,也可不加密。而伪加密是在未加密的zip文件基础上修改了它的压缩源文件目录区里的全局方式位标记的比特值,使得压缩软件打开它的时候识别为加密文件,提示输入密码, 而在这个时候,不管你用什么软件对其进行密码破解,都无法打开它!这就是它存在的意义!

zip伪加密破解方法

一、使用ZipCenOp.jar(需要java环境),在cmd中使用     java -jar ZipCenOp.jar r xxx.zip      成功后压缩包可以直接打开

二、使用winRAR

进入工具,压缩修复文件,修复完后压缩包就可以打开了

上述两种方法很多情况都可以用,但是有时不行,第三种方法可以应对各种zip伪加密

三、修改文件头的加密标志位

这里我以墨者学院的密码学加解密实训(Zip伪加密)为例,用winhex打开压缩包havekey.zip

未加密

第一个荧光标记条中:(压缩源文件数据区初始位置)
504B0304(文件头标记,4bytes)
1400(解压文件所需pkware版本,2bytes)
0900(全局方式位标记,2bytes)软件识别加密
第二个荧光标记条中:(压缩源文件目录区初始位置)
504B0102(目录中文件文件头标记,4bytes)
1E03(压缩使用的pkware版本,2bytes)
1400(解压文件所需pkware版本,2bytes)
0000(全局方式位标记,2bytes)压缩软件识别未加密标志     

--这里我已将源文件的0900改为0000,修改后解压KEY不再需要密码,得到:mozh去掉中文1号e53ea929d去掉中文2号17f32e5去掉中文3号c8d9ce去掉中文4号9944d5去掉中文5号
墨者学院的KEY提交格式是mozhe开头,故而提交mozhe53ea929d17f32e5c8d9ce9944d5

Zip伪加密 破解ZIP密码的更多相关文章

  1. 破解压缩包的几种方式(zip伪加密 爆破 CRC32碰撞 已知明文攻击)

    zip伪加密 zip文件是由3部分组成,详见文末 压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志 在压缩源文件数据区有个2字节的 全局方式位标记 ,在压缩源文件目录区也有个2字节的 全局方 ...

  2. Bugku-CTF加密篇之zip伪加密(flag.zip)

    zip伪加密

  3. ZIP伪加密(deprecated)

    ZIP伪加密 经过伪加密的apk,改成zip格式打开会发现里面的文件都经过了加密. APK实际上是Zip压缩文件,但是Android系统在解析APK文件时,和传统的解压压缩软件在解析Zip文件时存在差 ...

  4. zip伪加密文件分析(进阶版)

    作者近日偶然获得一misc题,本来以为手到擒来,毕竟这是个大家都讨论烂了的题,详情访问链接http://blog.csdn.net/ETF6996/article/details/51946250.既 ...

  5. zip伪加密

    简单的话来阐述 zip伪协议的意思是说本来不需要密码的zip文件然后通过修改标志位,然后就可以达到有密码的效果对吗?但是他实际是没有密码. 一个 ZIP 文件由三个部分组成: 压缩源文件数据区+压缩源 ...

  6. .zip格式和zip伪加密

    ZIP文件的组成: 压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志 压缩源文件数据区 50 4B 03 04:这是头文件标记(0x04034b50) 14 00:解压文件所需 pkware ...

  7. buuctf zip伪加密

    平时伪加密总是依赖osx,这道题无法直接解压,所以研究一下伪加密先放两张图(图是偷的)一般在压缩源文件数据区全局方式位标记处,真加密为 09 00,伪加密为00 00,而后面将压缩源文件目录区全局方式 ...

  8. 关于zip伪加密

    创建一个zip文件 然后用winhex打开 可以看到第二个PK头的地方对应hex区域有一场串0000000000 在这里的第四个0这里末尾修改成奇数 奇数为加密 偶数为不加密 再去打开就可以看到加密了

  9. 破解Zip加密文件常用的几种方法

    前言 在互联网的浪潮中,大家也许碰到过这种情况: 从网络上下载了一个zip文件,最后却发现它是用密码保护的,或者自己用密码加密了一个很重要zip文件,但是一段时间后忘记了密码,无法打开.这个时候,我们 ...

随机推荐

  1. 读高性能JavaScript编程 第二章 让我知道了代码为什么要这样写

    代码为什么要这样写? function initUI(){ var doc = document, bd = doc.body, links = doc.getElementsByTagName_r( ...

  2. [BZOJ 1568][JSOI2008]Blue Mary开公司

    [BZOJ 1568][JSOI2008]Blue Mary开公司 题意 \(n\) 次操作, 维护一个一次函数集合 \(S\). 有两种操作: 给定 \(b\) 和 \(k\), 向 \(S\) 中 ...

  3. T4学习- 4、Kalman Studio-T4代码生成器

    开源代码生成器-Kalman Studio https://github.com/loamen/Kalman.Studio 软件主要功能如下: 1.基于T4的代码生成工具,根据数据库元数据信息生成代码 ...

  4. 网络唤醒(WOL)全解指南:原理篇

    什么是网络唤醒 网络唤醒(Wake-on-LAN,WOL)是一种计算机局域网唤醒技术,使局域网内处于关机或休眠状态的计算机,将状态转换成引导(Boot Loader)或运行状态.无线唤醒(Wake-o ...

  5. datagridview 获取选中行的索引

    C# CODE for (int i = 0; i < this.dataGridView1.SelectedRows.Count; i++)//遍历所有选中的行 { this.dataGrid ...

  6. centos6.4安装 zabbix agent

    1.防火墙设置 允许zabbix-agent的10050端口通过  iptables -A INPUT -p tcp --dport 10050 -j ACCEPT  2.安装zabbix agent ...

  7. day08(补)

    今日学习内容 1.文件重写方法 2.函数基本知识 文件处理: 打开文件 读/写文件 关闭文件 文件指针移动,只有t模式下的read(n),n代表的字符个数其余都是以字节为单位 f.seek有两个参数( ...

  8. 【LeetCode7】Reverse Integer★

    题目描述: 解题思路: 反转的方法很简单,重点在于判断溢出的问题,下面给出了两种方法. Java代码: 方法一: 判断溢出方法:在执行完int newResult=result*10+tail语句后, ...

  9. 网络对抗技术 2017-2018-2 20152515 Exp1 PC平台逆向破解(5)M

    Exp1 PC平台逆向破解(5)M 1 知识要求 2 直接修改程序机器指令,改变程序执行流程 3 通过构造输入参数,造成BOF攻击,改变程序执行流 4 注入Shellcode并执行 1 知识要求 掌握 ...

  10. 20155304《网络对抗》Exp4 恶意代码分析

    20155304<网络对抗>Exp4 恶意代码分析 实践内容 1.系统运行监控 1.1使用schtasks指令监控系统运行 我们在C盘根目录下建立一个netstatlog.bat的文本文件 ...