代码地址如下:
http://www.demodashi.com/demo/12021.html

项目文件结构

在当前目录有三个文件:

  • 3-zipCrack.py :zip 破解程序
  • dictionary.txt :密码字典
  • evil.zip :zip 压缩包程序

代码实现过程

ZIP,是一个文件的压缩的算法,ZIP通常使用后缀名“.zip”,它的MIME格式为 application/zip 。

目前,ZIP格式属于几种主流的压缩格式之一,其竞争者包括RAR格式以及开放源码的7-Zip格式。从性能上比较,RAR格式较ZIP格式压缩率较高,但是它的压缩时间远远高于Zip。

其破解原理就是遍历密码字典的密码,逐个尝试解码,如果密码复杂字典过大会导致破解效率下降,下面用多线程破解可以改善之。

#!/usr/bin/python
# -*- coding: utf-8 -*-
import zipfile
import optparse
from threading import Thread def extractFile(zFile, password):
# 破解zip 密码程序
zFile.extractall(pwd=password)
print '[+] Found password ' + password + '\n' def main():
parser = optparse.OptionParser("usage %prog "+\
"-f <zipfile> -d <dictionary>")
# 解析命令行
# ... zFile = zipfile.ZipFile(zname)
passFile = open(dname) for line in passFile.readlines():
# 实现多线程破解
t = Thread(target=extractFile, args=(zFile, password))
t.start() if __name__ == '__main__':
main()

演示效果

在当前目录有三个文件:

  • 3-zipCrack.py :zip 破解程序
  • dictionary.txt :密码字典
  • evil.zip :zip 压缩包程序

第一次输入python 3-zipCrack.py 提示使用用法:

usage %prog -f <zipfile> -d <dictionary>

然后按使用方法正确输入命令:

python 3-zipCrack.py -f evil.zip -d dictionary.txt

这样成功破解出 evil.zip 压缩包,并显示 zip 解码密码是secret。具体如下图的操作:

破解 zip 压缩包程序

代码地址如下:
http://www.demodashi.com/demo/12021.html

注:本文著作权归作者,由demo大师代发,拒绝转载,转载需要作者授权

破解 zip 压缩包程序的更多相关文章

  1. kali 使用John破解zip压缩包的密码

    kali  使用John破解zip压缩包的密码 准备工具: zip压缩包带密码   1个 kali Linux机器       1个 操作步骤: 首先将压缩包上传至kali机器,然后使用zip2joh ...

  2. linux下使用fcrackzip来暴力破解zip压缩包

    我是在kali上安装的,用命令sudo apt-get install fcrackzip 现在做一个例子,首先生成一个带有密码的zip的包 zip -P hujhh test.zip test1.t ...

  3. 分析Android程序之破解第一个程序

    破解Android程序通常的方法是将apk文件利用ApkTool反编译,生成Smali格式的反汇编代码,然后阅读Smali文件的代码来理解程序的运行机制,找到程序的突破口进行修改,最后使用ApkToo ...

  4. Node.js使用jszip实现打包zip压缩包

    一.前言 最近有这样的一个需求,需要把两个同名的.mtl文件和.obj文件打包成一个同名的.zip压缩包.刚开始文件不多的时候,只有几个,或者十几个,甚至二三十个的时候,还能勉强接受手动修改,但是随着 ...

  5. VSCode 绿色版(zip压缩包) 添加右键菜单 使用VSCode 打开文件或文件夹

    微软官方下载VSCode 可以下载exe安装外还可以下载zip 压缩包 下载地址: https://code.visualstudio.com/Download 但是zip压缩包却没有了 右键使用VS ...

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

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

  7. 暴力破解ZIP文件密码

    Python 的标准库提供了 ZIP 文件的提取压缩模块 zipfile,现在让我们试着用这个模块,暴力破解出加密的 ZIP 文件!我们可以用 extractall()这个函数抽取文件,密码正确则返回 ...

  8. unzip---解压缩“.zip”压缩包。

    unzip命令用于解压缩由zip命令压缩的“.zip”压缩包. 语法 unzip(选项)(参数) 选项 -c:将解压缩的结果显示到屏幕上,并对字符做适当的转换: -f:更新现有的文件: -l:显示压缩 ...

  9. fcrackzip破解zip密码

    kail系统里有fcrackzip工具,可以对设置密码的压缩包zip直接进行破解,不用字典,直接进行暴力破解. fcrackzip 所用到的参数介绍如下:-b 表示暴力破解-c 表示暴力破解中使用的字 ...

随机推荐

  1. [libgdx游戏开发教程]使用Libgdx进行游戏开发(4)-素材管理

    游戏中总是有大量的图像资源,我们通常的做法是把要用的图片做成图片集,这样做的好处就不多说了.直接来看怎么用. 这里我们使用自己的类Assets来管理它们,让这个工具类作为我们的资源管家,从而可以在任何 ...

  2. 原生js编写设为首页兼容ie、火狐和谷歌

    // JavaScript Document // 加入收藏 <a onclick="AddFavorite(window.location,document.title)" ...

  3. 4、Flask实战第4天:自定义url转换器

    url传参可以限定参数的数据类型,例如:限定user_id数据类型为int @app.route('/user/<int:user_id>') def my_list(user_id): ...

  4. 7、Django实战第7天:用form实现登录

    Django提供了form对表单进行验证,比如今天要完成的限定登录的时候用户名和密码不能为空,通过这个操作,数据进入到数据库查询之前,我们就可以过滤很多错误,避免不必要的查询. 在users目录下新建 ...

  5. [xsy1140]求值

    $\newcommand{ali}[1]{\begin{align*}#1\end{align*}}$题意:给定$n,b,c,d,e,a_{0\cdots n-1}$,令$x_k=bc^{4k}+dc ...

  6. 【递归】先修课 计算概论(A) / 函数递归练习(3)2:分解因数

    #include<cstdio> using namespace std; bool is_prime(int x) { ;i*i<=x;i++) ) return false; r ...

  7. 【计算几何】【极角序】【二分】bzoj1914 [Usaco2010 OPen]Triangle Counting 数三角形

    极角排序后枚举每个点,计算其与原点连线的左侧的半平面内的点与其组成的三角形数(二分/尺取),这些都不是黄金三角形. 补集转化,用平面内所有三角形的个数(C(n,3))减去这些即可. 精度很宽松,几乎不 ...

  8. 【贪心】【线性基】bzoj2460 [BeiJing2011]元素 / bzoj3105 [cqoi2013]新Nim游戏

    p2460: #include<cstdio> #include<algorithm> using namespace std; #define N 1001 typedef ...

  9. [CSAcademy]Connected Tree Subgraphs

    题目大意: 给你一棵n个结点的树,求有多少种染色方案,使得染色过程中染过色的结点始终连成一块. 思路: 树形DP. 设f[x]表示先放x时,x的子树中的染色方案数,y为x的子结点. 则f[x]=pro ...

  10. 13test02:阶乘

    //假设32位int型变量y是表示最大人数的x的阶乘,即y=x!,当x最大值取什么时,y取最大值 //,且乘法不溢出. #include<iostream> using namespace ...