zip伪加密


zip文件是由3部分组成,详见文末

压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志

在压缩源文件数据区有个2字节的 全局方式位标记 ,在压缩源文件目录区也有个2字节的 全局方式位标记 ,都用以标记是否加密,如下图:

若是没有加密的zip,两处标记都是00 00

加密的zip两次都不是00 00,好像不同版本的压缩软件或是算法,这里的值会不同,我看之前网上多见的是09 00

若把未加密的zip压缩源文件目录区的全局方式位标记改为 01 00 (或者 09 00),就会被压缩软件认为是已加密,即所谓的伪加密

破解伪加密的zip,只要把压缩源文件目录区的全局方式位标记改为 00 00 即可解压

爆破


详分有暴力,掩码,字典

1.暴力:选择密码范围,长度等,由软件组合生成密码进行爆破

2.掩码:知道密码中的一部分,只需按规则构造其余部分

3.字典:通常是多数用户常用的一些密码集合,导入字典文件用其中的密码进行爆破

推荐一款windows下的软件 advanced zip password recovery

用法的话,百度就很多了

我写过一个简单的通过字典爆破zip的python脚本

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import zipfile
import osdef extractFile(zFile,password):try:zFile.extractall(path=os.getcwd(),pwd=password)except:return Falseelse:return passworddef main():zFile=zipfile.ZipFile(raw_input('zip file:'))passFile=open(raw_input('password file:'))for password in passFile.readlines():print passwordpassword=password.strip('\n')result=extractFile(zFile,password)if result:print 'success:'+resultbreakif __name__=='__main__':main()raw_input('press any key to exit')

CRC32碰撞


CRC校验实用程序库 在数据存储和数据通讯领域,为了保证数据的正确,就不得不采用检错的手段。在诸多检错手段中,CRC是最著名的一种。CRC的全称是循环冗余校验。

总之每个文件都有唯一的CRC32值,即便数据中一个bit发生变化,也会导致CRC32值不同。若是知道一段数据的长度和CRC32值,便可穷举数据,与其CRC32对照,以此达到暴力猜解的目的。但通常只适用于较小文本文件。

比如这里有一个加密的rar,直接双击就可以看见其中信息,而且我知道其中全是数字,便可写脚本爆破

 1 from zlib import crc32
 2 import random
 3
 4 char='0123456789'
 5
 6 def crc32_f(data):
 7     return hex(crc32(data)&0xffffffff)[2:10]
 8
 9 length=input('length:')
10 crc32_=raw_input('crc32:').lower()
11
12 while True:
13     text=''
14     for i in range(length):
15         text+=char[random.randint(0,len(char)-1)]
16     if crc32_f(text)==crc32_:
17         raw_input('find it:'+text)
18         exit

python2中的crc32()计算的crc32值是有符号的,所以&0xffffffff转换成无符号数值

由于全是数字,7位也不算太高,跑了3分钟左右便出结果了

已知明文攻击


如果得到了加密压缩包中的某个文件,那么就可以通过明文攻击来获取压缩密码

这里得到了163264.txt文件,以及一个加密的misc2.zip,misc2.zip中的文件即是我们得到的这个文件,先将已知的文件压缩,从CRC32也可以看出两个文件是一样的

然后在软件中选择明文(plain-text),填入路径点击开始

我跑了大约一两分钟

如果出现以下错误,那么一般就是你使用的压缩软件或是压缩算法和待破解的压缩包所使用的软件不同,可以用WinRAR,7z,2345好压等都试一下

No matching files in selected archives.If you'd like to run plaintext attack using only part of the file, please modify the archives so each of them will contain one file only.

在选定的档案中没有匹配的文件。如果您想要仅使用文件的一部分执行明文攻击,请修改档案,使每个档案中只包含一个文件。

参考:

zip文件构成:https://blog.csdn.net/wclxyn/article/details/7288994

转载于:https://www.cnblogs.com/leixiao-/p/9824557.html

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

  1. zip伪加密破解方法

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

  2. zip 伪加密学习,压缩包十六进制数据含义分析

    zip 伪加密学习,压缩包十六进制数据含义分析 -- 一个zip文件由三部分组成: 压缩源文件数据区 压缩源文件目录区 压缩源文件目录结束标志. 先拿一个正常的压缩包为例,用 010 editor 打 ...

  3. 实验二:文件破解(zip密码/zip伪加密/doc密码)

    一.实验目的 学会使用Advanced ZIP Password Recovery.Free Word Excel password recovery wizard等工具,了解并掌握DOC.ZIP文件 ...

  4. mysql安装文件格式_一、安装方式       MySQL安装文件分为两种,一种是MSI格式的,一种是ZIP格式的。下面来看看这两种方式:       MSI格式的可以直接点击安...

    一.安装方式 MySQL安装文件分为两种,一种是MSI格式的,一种是ZIP格式的.下面来看看这两种方式: MSI格式的可以直接点击安装,按照它给出的安装提示进行安装,Windows操作系统下一般MyS ...

  5. 实现精灵图片绝对定位的三种方式(伪)

    精灵图片绝对定位的三种方式(伪) 有强迫症的我为此困扰了一上午,说白了还是自己实力不够,想法总被局限. 实现结果如上图中间的为最终满意样品 整体用列表写的` 左1: 把整体看成一个背景图加上面文字: ...

  6. BugkuCTF-MISC题zip伪加密

    下载文件file.zip 题目提示伪加密 通过010editor打开file伪加密.zip 将头文件标记50 4B 03 04起第三第四个字节改为0000 再将50 4B 01 02起第五第六个字节改 ...

  7. BUUCTF zip伪加密(发现伪加密的惊天大秘密)

    title: BUUCTF zip伪加密 date: 2021年8月18日 20点03分 tags: BUUCTF Misc categories: BUUCTF Misc 这道题我为何要单独拿出来写 ...

  8. [BUUCTF]zip伪加密

    打开压缩文件发现需要密码,结合题目知道这是伪加密 zip伪加密是在文件头的加密标记位做修改,进而再打开文件时识被别为加密压缩包 未加密: 文件头中的全局方式位标记为00 00 目录中源文件的全局方式位 ...

  9. CTF——zip伪加密

    目录 1.前文: 2.原理: 1.压缩源文件数据区: 2.压缩源文件目录区: 3.压缩源文件目录结束标志: 3.判断是否加密: 1.无加密: 2.伪加密: 3.真加密: 4.修改方法: 5.其他途径: ...

最新文章

  1. 【BZOJ】1630: [Usaco2007 Demo]Ant Counting(裸dp/dp/生成函数)
  2. truelicense中的maven配置
  3. python定时任务:apscheduler的使用(还有一个celery~)
  4. 清理临时目录mysql,把MySQL的临时目录迁移到内存上-临时文件夹
  5. 苹果cmsv10自适应卡通动漫番剧模板
  6. 获取roi内的xld_提升ROI是王道,这几种推广获客渠道与形式你还不知道?
  7. IDEA Tomcat控制台中文乱码
  8. Codeforces Round #479 (Div. 3) F. Consecutive Subsequence (简单dp)
  9. exchange2010 DAG备份
  10. Dialogue System for Unity文档中英对照版(简雨原创翻译)第六篇(音序器相关,语音同步)
  11. 自己写得一个分布式海量文件搜索引擎
  12. 计算机信息处理技术的易混淆知识点,计算机等级考试二级VisualFoxPro备考策略、考试题型与解题技巧与易混淆的知识点...
  13. ROS机器人SLAM学习:Gazebo定位与导航自主仿真
  14. 虚拟机共享目录添加按钮灰色_共享按钮将成为PS4最重要的遗产
  15. 前端(内部)-编程规约
  16. CREO-三维建模技巧
  17. 使用傲梅分区助手无损合并分区,无损调整分区大小
  18. 职中计算机专业课教师资格证,中职教师资格证和高中教师资格证有什么区别?...
  19. java互联网医院源码 智慧医院源码 图文问诊系统源码
  20. 如何用php算出你活了天,按日子来做活儿——第一个Blog DayHappy Day

热门文章

  1. 15个必知的Mysql索引失效场景,别再踩坑了
  2. Windows7游戏花屏通用补丁1.2,解决暴力摩托等花屏不能玩的游戏
  3. linux学习笔记(设置中文界面,更换源,linux常用命令)
  4. 计算机程序设计乘法,微机原理设计实验之两个数相乘
  5. dedecm建站优化技巧教程六大步骤详解
  6. 帝国时代2在windows7下面花屏的解决办法
  7. 如何改变premiere pro的安装路径
  8. 业余爱好者,想做自己厂的ERP软件
  9. JavaScript (Java Web 学习笔记)
  10. Docker 基础教程