暴力破解受保护的zip文件时出现Python zlib错误

时间:2019-01-17 14:10:19

标签: python python-3.x zlib zipfile

基本上,我正在尝试编写脚本以在python中暴力破解受保护的zip文件,从而尝试每种字符组合(即aa,ba,ca,da等)。但是经过几次尝试,它检索到一个奇怪的错误,而我却找不到解决方案。

程序:

import zipfile as z

class zipVictim:
    def __init__(self,file):
        self.found = False
        self.password = ''
        self.file = file
        self.extracted_file_list = []

    def bruteforceAttack(self,start_char: int,end_char: int,length: int,deep_loop=False,print_mode=False):
        """
            Doc
        """

        def _loop_chain(self,file,start_char,end_char,length):

            lList = []
            sPass = ''
            iAttempt = 1

            for iInc in range(length):
                lList.append(start_char)

            while lList[len(lList)-1] < end_char:
                for iInc2 in range(start_char,end_char):
                    for iInc3 in range(len(lList)):

                        sPass = sPass + chr(lList[iInc3])

                        if iInc3 == 0:
                            lList[iInc3] = lList[iInc3] + 1
                        elif lList[iInc3 -1] > end_char:
                            lList[iInc3] = lList[iInc3] + 1
                            lList[iInc3 -1] = start_char
                    try:

                        if print_mode:
                            print("Attempt %s, password: %s" % (iAttempt,sPass),end='\r')
                            iAttempt = iAttempt + 1

                        oFile.extractall(pwd=sPass.encode())

                        self.extracted_file_list = oFile.namelist()
                        self.password = sPass
                        self.found = True

                        return self.found

                    except RuntimeError:
                        pass

                    sPass = ''

            return self.found     

        oFile = self.file

        if not deep_loop:
            _loop_chain(self,oFile,start_char,end_char,length)
        else:
            for iInc in range(length):
                _loop_chain(self,oFile,start_char,end_char,iInc+1)

if __name__ == '__main__':

    file = z.ZipFile('data.zip')
    s = zipVictim(file)
    s.bruteforceAttack(64,125,2,print_mode=True)

已检索错误:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\zipfile.py", line 925, in _read1
    data = self._decompressor.decompress(data, n)
zlib.error: Error -3 while decompressing data: invalid block type

有人知道触发此错误的原因以及如何解决该错误吗?

0 个答案:

没有答案
相关问题