代码地址如下:
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. PHP极速开发框架LotusAdmin page版发布

    体验地址及账号如下: 地址    https://page.waytomilky.com/ 账号:admin 密码:123456 LotusAdmin2.0其主要特性包括: 1.基于ThinkPHP5 ...

  2. django URL参数在view中传递和Template的反向解析方式

    一. URL参数在view中传递 1.带参数名:通过named group方式传递指定参数,语法为: (?P<name>pattern), name 为传递参数的名称,pattern代表所 ...

  3. (22)python 自动化

    例子 from selenium import webdriver driver = webdriver.PhantomJS() driver.get("http://www.huhumh. ...

  4. (21)python Anaconda

    1.安装 Anaconda下载镜像      --官网下载太慢 https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ 下载安装后 2.添加第三方源 管 ...

  5. hdu6059( Trie )

    hdu6059 题意 给定数组 \(A\) ,问有多少对下标 \((i, j, k)\) 满足 \(i < j < k\) 且 \((A[i] \ xor \ A[j]) < (A[ ...

  6. 洛谷——P2958 [USACO09OCT]木瓜的丛林Papaya Jungle

    P2958 [USACO09OCT]木瓜的丛林Papaya Jungle 题目描述 Bessie has wandered off the farm into the adjoining farmer ...

  7. POJ2342 Anniversary party(动态规划)(树形DP)

    Anniversary party Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6635   Accepted: 3827 ...

  8. Ubuntu 终端常用命令

    文件目录类 1.建立目录:mkdir 目录名 2.删除空目录:rmdir 目录名 3.无条件删除子目录: rm -rf 目录名 4.改变当前目录:cd 目录名 (进入用户home目录:cd ~;进入上 ...

  9. fiddler进行弱网测试

    fiddler模拟限速的原理 弱网测试原帖连接:http://blog.csdn.net/eleven521/article/details/19089671 我们可以通过fiddler来模拟限速,因 ...

  10. Servlet 3.1 规范

    在线版目录 Servlet3.1规范翻译——前言 Servlet3.1规范翻译——概览 Servlet3.1规范翻译——Servlet Context Servlet3.1规范翻译——Response ...