python zip文件密码爆破

#!/usr/bin/env
# coding=UTF-8
import zipfile
import threading
import os
import sys
class CrackZip:
    def __init__(self):
        self._result = None
    def run(self,zFile,password):
        try:
            zFile.extractall(pwd=password)
            print("Found Passwd:",password)
            print(‘Password=‘,password)
            self._result=password
        except:
            pass
    def getPass(self):
        return self._result

def checkFile(path):
    flag=False
    if not os.path.isfile(path):
        flag=False
        print(‘[-] %s文件不存在‘,path)
    return flag
def main():
    cz=CrackZip()
    if len(sys.argv)>=3:
        zipPath=sys.argv[1]
        dictionaryPath=sys.argv[2]
        flag=(len(sys.argv)>3 and sys.argv[3]==‘-t‘)
        typeName=None
        if not checkFile(dictionaryPath):
            if dictionaryPath[-3:]!=‘txt‘:
                print(‘字典不是txt文件‘)
                return
        if not checkFile(zipPath):
            if zipPath[-3:]!=‘zip‘:
                print(‘只能爆破zip文件‘)
                return
        zFile=zipfile.ZipFile(‘test.zip‘,‘r‘)
        passFile=open(dictionaryPath,‘r‘)
        for line in passFile.readlines():
            password=line.strip(‘\n‘).encode(‘utf-8‘)
            if flag:
                False
                t=threading.Thread(target=cz.run,args=(zFile,password))
                t.start()
            else:
                cz.run(zFile,password)
                password=cz.getPass()
                typeName=‘SingleThread‘
                if password:
                    return
        if typeName==‘SingleThread‘:
            print("字典里找不到密码")
    else:
        print(‘命令不正确,格式为:python zip.py zipPath dictionaryPath‘)
        return
if __name__==‘__main__‘:
    main()
        

遇到了以下问题:

  1. 字典里获取出来的字符需要编码(utf-8)才能被extractall识别  

  2. 开启线程爆破后如何检测所有线程执行完毕?(提示爆破失败)

时间: 2024-08-05 22:04:31

python zip文件密码爆破的相关文章

ZIP文件密码爆破

import zipfile import threading def extractFile(zFile,password): try: zFile.extractall(pwd = password) print password except: pass def main(): zFile = zipfile.ZipFile(r"这里写要爆破的zip文件的路径") passFile = open(r'这里写字典的路径','r') for line in passFile.read

【pyhon】黑客用字典暴力破解Zip文件密码原理性展示

基本原理:用程序把字典文件里拟定好的密码一个个提取出来,去测试zip能否打开 字典文件pass.txt内容: 1224 2121 asdf abcd1234 dwsdsd dssds 程序代码: # zip文件 import zipfile import os # 对zip文件进行密码测试,成功返回True,失败返回False def testZip(filePathname,password): # 判断目录是否存在 if os.path.exists(filePathname)==False

Python与Hack之Zip文件口令破解

1.需要的库: **import zipfile**import optparse**from threading import Thread (1)zipfile:1.1 zipfile.ZipFile(fileName[, mode[, compression[, allowZip64]]]) fileName是没有什么疑问的了. mode和一般的文件操作一样,'r'表示打开一个存在的只读ZIP文件:'w'表示清空并打开一个只写的ZIP文件,或创建一个只写的ZIP文件:'a'表示打开一个ZI

Python解压.zip文件

1 ''' 解压一个.zip文件或一个目录下的所有.zip文件到指定目录. 2 3 运行方法: 4 格式: 5 python unzip.py "source_dir" "dest_dir" password 6 参数说明: 7 source_dir和dest_dir既可以绝对路径也可以为相对路径.用""将它们括起为了防止路径中出现空格. 8 source_dir和dest_dir的缺省值表示当前目录. 9 password缺省表示压缩文件未加密

Python真牛逼,获取压缩文件密码,我只要一分钟!

事情的经过是这样的: 又是奶茶,行吧行吧. 快点开工,争取李大伟回来之前搞定. 李大伟说是6位数字密码 那么我们可以利用python生成全部的六位数字密码 这样,我们就生成了一个从000000到99999的密码表. 并把它们存入到 passdict.txt 的文件中. 6位的密码表就这么大!!! 下一步做什么? 自然是将生成的密码表中的密码遍历, 暴力破解啦! 科普时间: zipFile模块式Python自带的模块,提供了对zip 文件的创建,读,写,追加,解压以及列出文件列表的操作 解压使用e

powershell 用7-zip解压带密码的zip文件

#路径 $7zip_path = "C:\Program Files\7-Zip" #参数列表 $Arg = "x -p$zip_password_api $zipFile -o" + $foldername + " -y" #7-Zip命令 $7zip = $7zip_path + "\7z.exe" #解压ZIP文件 & $7zip $Arg.Split() 说明: $Arg = "x -p$passwo

轻松python之文件专题-关于zip文件的一些操作

场景: zip文件的操作,包括增删改查 1.zip的创建,并在zip包里面创建一个文件 >>> import zipfile >>> handler=open('temp_zip.zip','w') >>> handler.close () >>> z=zipfile.ZipFile ('c:/Python34/temp_zip.zip','w') >>> z.writestr('hello.py','def f()

Python打包文件夹的方法小结(zip,tar,tar.gz等)

本文实例讲述了Python打包文件夹的方法.分享给大家供大家参考,具体如下: 一.zip ? 1 2 3 4 5 6 7 8 9 10 11 import os, zipfile #打包目录为zip文件(未压缩) def make_zip(source_dir, output_filename):   zipf = zipfile.ZipFile(output_filename, 'w')   pre_len = len(os.path.dirname(source_dir))   for pa

用python读取带密码的excel文件中的数据

用python读取带密码的excel文件中的数据,程序代码如下: #filename:readingxls.py ''' 此程序的作用为:用python读取带密码的excel文件中的数据. 首先通过pip安装xlrd第三方库 pip3 install xlrd 请输入excel文件路径:D:\x1.xls ''' import xlrd path=input("请输入excel文件路径:") workbook=xlrd.open_workbook(path) b=len(workboo