Python实现暴力破解有密码的zip文件的方法

背景

今天朋友给我发了一个某游戏的兑换码,压缩文件发过来的。结果被加密了。wc?还说叫爸爸就给我密码?男人是这么容易像恶势力低头的?直接给你爆了好吧,小兔崽子。

一、思路

爆密码的思路其实都大同小异:无非就是字典爆破,就看你是有现成密码字典,还是自己生成密码字典,然后进行循环输入密码,直到输入正确位置。现在很多都有防爆破限制,根本无法进行暴力破解,但是似乎zip这种大家都是用比较简单的密码而且没有什么限制。
因此 实现思路就是 生成字典->输入密码->成功解压

二、实现过程

1.生成字典
生成密码字典其实就是一个字符组合的过程。小伙伴们可别用列表去组合噢,很容易就内存溢出了,用生成器就最好啦。这里我选择使用python的itertools模块。itertools是2.3版本加入的用于创建循环用迭代器的函数模块。
而itertools.product(*iterables[, repeat])函数是对应有序的重复抽样过程。
写出来生成密码字典的方法:(输出1,2组成长度为4的所有密码)

import itertools

def allkeyword(dic,num):
  allkey1 = itertools.product(dic,repeat=num)
  allkey2 = (''.join(i) for i in allkey1)
  return allkey2

dictionaries = ['1', '2']
print(list(allkeyword(dictionaries,4)))

输出结果:

2.解压文件
好家伙,python的zipfile模块不就可以对文件压缩解压嘛?使用方法参考官方文档:https://docs.python.org/zh-cn/2/library/zipfile.html

import zipfile

try:
  ZIPFILE = zipfile.ZipFile(r'D:\123\1.zip')
  ZIPFILE.extractall(path=r'D:\12',pwd=b'1234')
  print("解压成功")

except:
  print("解压失败")

没有意外测试文件应该可以解压成功的。

3.使用生成的字典去爆破密码
结合1、2去修改!直接贴代码啦:

import zipfile
import itertools

dictionaries = ['1', '2', '3', '4','5','6','7','8','9','0',
        'a','b','c','d','e','f','g','h','i','j','k',
        'l','m','n','o','p','q','r','s','t','u','v',
        'w','x','y','z']     #组成破解字典的关键字符(可以按照自己需求添加)

def allkeyword():      #排列出字符所有4个字符的组合
  allkey1 = itertools.product(dictionaries,repeat=4)
  allkey2 = (''.join(i) for i in allkey1)
  return allkey2

def trypassword (password):
  try:
    ZIPFILE = zipfile.ZipFile(r'D:\123\1.zip')  #定义对象,相当于定义一个压缩文件1.zip
    ZIPFILE.extractall(path=r'D:\12',pwd=password.encode('utf-8'))
    print(f"解压成功,正确密码为:{password}")
    return True
  except:
    print(f"解压失败,尝试密码为:{password}")
    return False

#用trypassword函数返回的True或者Flase来判定程序是否终止。
for pwd in allkeyword() :
  if trypassword(pwd):
    break

爆破测试的压缩文件:

三、结束

好了,到这里这个程序就结束啦。

到此这篇关于Python实现暴力破解有密码的zip文件的文章就介绍到这了,更多相关Python暴力破解有密码的zip文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 如何使用Python破解ZIP或RAR压缩文件密码

    这篇文章主要介绍了如何使用Python破解ZIP或RAR压缩文件密码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 我们经常会从网络上下载一些带密码的压缩包,想要获取里面的内容,往往就要给提供商支付一些费用.想要白嫖其中的内容,常见的做法是百度搜索一些压缩包密码破解软件,但后果相信体验过的人都知道.本文将会利用 Python 破解压缩包的密码,这里以 ZIP/RAR 为例. 破解原理 其实原理很简单,一句话概括就是「大力出奇迹」,Python

  • Python脚本暴力破解栅栏密码

    今天遇到一个要破解的栅栏密码,先给大家介绍通用的脚本. 方法一(通用脚本): #!/usr/bin/env python # -*- coding: gbk -*- # -*- coding: utf_ -*- e = raw_input('请输入要解密的字符串\n') elen = len(e) field=[] for i in range(,elen): if(elen%i==): field.append(i) for f in field: b = elen / f result =

  • Python爬取破解无线网络wifi密码过程解析

    前言 今天从WiFi连接的原理,再结合代码为大家详细的介绍如何利用python来破解WiFi. Python真的是无所不能,原因就是因为Python有数目庞大的库,无数的现成的轮子,让你做很多很多应用都非常方便.wifi跟我们的生活息息相关,无处不在. 如何连接wifi 首先我们的电脑是如何连接wifi的呢?就拿我们的笔记本电脑来说,我们的笔记本电脑都有无线网卡,如下图所示: 当我们连接WiFi时,无线网卡会自动帮助我们扫描附近的WiFi信号,并且会返回WiFi信号的一些信息,包括了网络的名称(

  • python 利用pywifi模块实现连接网络破解wifi密码实时监控网络

    python 利用pywifi模块实现连接网络破解wifi密码实时监控网络,具体内容如下: import pywifi from pywifi import * import time def CrackWifi(password): wifi = pywifi.PyWiFi() iface = wifi.interfaces()[0] # 取一个无限网卡 # 是否成功的标志 isok = True if(iface.status()!=const.IFACE_CONNECTED): profi

  • 如何用Python破解wifi密码过程详解

    前言 Python真的是无所不能,原因就是因为Python有数目庞大的库,无数的现成的轮子,让你做很多很多应用都非常方便.wifi跟我们的生活息息相关,无处不在.今天从WiFi连接的原理,再结合代码为大家详细的出一期关于Python破译wifi密码的Python学习教程! 01.如何连接wifi 首先我们的电脑是如何连接wifi的呢?就拿我们的笔记本电脑来说,我们的笔记本电脑都有无线网卡,如下图所示: 当我们连接WiFi时,无线网卡会自动帮助我们扫描附近的WiFi信号,并且会返回WiFi信号的一

  • 使用 Python 破解压缩文件的密码的思路详解

    经常遇到百度网盘的压缩文件加密了,今天我们就破解它! 实现思路 上篇文章给大家介绍了爆破密码的思路,感兴趣的朋友可以了解下. 其实都大同小异:无非就是字典爆破,就看你是有现成密码字典,还是自己生成密码字典,然后进行循环输入密码,直到输入正确位置.现在很多都有防爆破限制,根本无法进行暴力破解,但是似乎zip这种大家都是用比较简单的密码而且没有什么限制. 因此 实现思路就是 生成字典->输入密码->成功解压 实现过程 1.  生成字典 生成密码字典其实就是一个字符组合的过程.小伙伴们可别用列表去组

  • Python压缩解压缩zip文件及破解zip文件密码的方法

    python 的 zipfile 提供了非常便捷的方法来压缩和解压 zip 文件. 例如,在py脚本所在目录中,有如下文件: readability/readability.js readability/readability.txt readability/readability-print.css readability/sprite-readability.png readability/readability.css 将 readability 目录中的文件压缩到脚本所在目录的 read

  • Python实现暴力破解有密码的zip文件的方法

    背景 今天朋友给我发了一个某游戏的兑换码,压缩文件发过来的.结果被加密了.wc?还说叫爸爸就给我密码?男人是这么容易像恶势力低头的?直接给你爆了好吧,小兔崽子. 一.思路 爆密码的思路其实都大同小异:无非就是字典爆破,就看你是有现成密码字典,还是自己生成密码字典,然后进行循环输入密码,直到输入正确位置.现在很多都有防爆破限制,根本无法进行暴力破解,但是似乎zip这种大家都是用比较简单的密码而且没有什么限制. 因此 实现思路就是 生成字典->输入密码->成功解压 二.实现过程 1.生成字典 生成

  • Python实现暴力破解wifi密码并打包成exe

    目录 前言 功能点预览 前置准备-依赖库 Python tkinter编写GUI界面 密码字典 开撸 打包成exe 演示 PS 前言 python号称是编程界的万金油,那么是否可以做个读取电脑网卡wifi并暴力破解的小脚本呢?在这个基础上为了方便体验是不是可以将其打包成exe这样方便执行的小应用呢? 说干就干~ 功能点预览 本文主要分享以下需求 python获取无线网卡 python通过无线网卡获取wifi python暴力破解wifi python 通过实现GUI图形界面 python打包成e

  • python编写暴力破解FTP密码小工具

    python具体强大的库文件,很多功能都有相应的库文件,所以很有必要进行学习一下,其中有一个ftp相应的库文件ftplib,我们只需要其中的登录功能,然后利用多线程调用相应字典里面的字段进行登录,还能根据自己的需要,根据自身的情况编写需要的程序,让程序代替我们去做一些枯燥的重复工作. 下面直接上代码,下面是主文件 复制代码 代码如下: import os import time import threading class mythread(threading.Thread): def __in

  • python编写暴力破解zip文档程序的实例讲解

    编写暴力破解Zip文件要从学习zipfile库的使用方法入手,首先打开Python解释器,用help('zipfile')命令来了解这个库并重点看一下ZipFile类中的extractall()这个方法 ZipFile extractall() 让我们来写一个脚本测试一下Zip文件库的用法,首先创建一个有密码的压缩文件,这里设置密码为awd,文件名为evil.zip,要解压这个zip文件,实例化一个新的ZipFile类,使用extractall()方法,在可选参数pwd上填上密码 运行后你会发现

  • Java编程实现暴力破解WIFI密码的方法分析

    本文实例讲述了Java编程实现暴力破解WIFI密码的方法.分享给大家供大家参考,具体如下: 开始进入正题.在网上找了很多wifi破解工具,都是linux平台下用的,然后还不支持虚拟机装linux.因为很多笔记本装虚拟机都识别不了内置网卡.所以得把系统刻到U盘,然后用U盘启动.但是我现在穷得连一条内裤都没有了,哪来的U盘啊.于是就决定自己写,而且还得用Java写,写了我还得在windows上运行. 一.准备工作 首先你得需要一台能连wifi的电脑, 然后你的电脑得支持Java环境, 最后你周围得有

  • python压缩文件夹内所有文件为zip文件的方法

    本文实例讲述了python压缩文件夹内所有文件为zip文件的方法.分享给大家供大家参考.具体如下: 用这段代码可以用来打包自己的文件夹为zip,我就用这段代码来备份 import zipfile z = zipfile.ZipFile('my-archive.zip', 'w', zipfile.ZIP_DEFLATED) startdir = "/home/johnf" for dirpath, dirnames, filenames in os.walk(startdir): fo

  • Python实现压缩和解压缩ZIP文件的方法分析

    本文实例讲述了Python实现压缩和解压缩ZIP文件的方法.分享给大家供大家参考,具体如下: 有时我们需要在 Python 中使用 zip 文件,而在1.6版中,Python 就已经提供了 zipfile 模块可以进行这样的操作.不过 Python 中的 zipfile 模块不能处理多卷的情况,不过这种情况并不多见,因此在通常情况下已经足够使用了.下面我只是对一些基本的 zipfile 操作进行了记录,足以应付大部分的情况了. zipfile 模块可以让你打开或写入一个 zip 文件.比如: i

  • python批量解压zip文件的方法

    这是一个用python写解压大量zip脚本的说明,本人新手一个,希望能对各位有所启发. 首先要注意的,在运行自己的脚本之前一定先备份或者复制出一些样本进行测试,不然出错会很麻烦: 之后我用到的是解压zip文件的扩展包zipfile,可以直接pip安装或者在IDE里安装,需要特别注意的是这个包的文件名解码方式需要我们去修改,先去查看源文件,直接搜索"cp437"(一个编码方式),找到后全部替换为"gbk",即可解决中文显示问题. 代码: import os impor

  • Python 2/3下处理cjk编码的zip文件的方法

    今天项目中遇到了中文编码的zip文件,处理了蛮长时间,所以记录下,以免下次踩坑. Python2下 Python2中读取zip文件,zipfile.ZipInfo的filename类型是str,基本上类似于python3中的bytes,即可以被decode为unicode. 所以,要处理中文,只需要将文件名按照编码decode成unicode就好. import zipfile fpath = '/path/to/zip.zip' zfile = zipfile.ZipFile(fpath, '

随机推荐