Message 339722 - Python tracker (original) (raw)

Hi, in the short program, that works well for password of 4 character, when I change password length I got this error (parameter MAXD)

Traceback (most recent call last): File "p33.py", line 54, in zf.extractall( pwd=password.encode('cp850','replace')) File "/usr/lib/python3.5/zipfile.py", line 1347, in extractall self.extract(zipinfo, path, pwd) File "/usr/lib/python3.5/zipfile.py", line 1335, in extract return self._extract_member(member, path, pwd) File "/usr/lib/python3.5/zipfile.py", line 1399, in _extract_member shutil.copyfileobj(source, target) File "/usr/lib/python3.5/shutil.py", line 73, in copyfileobj buf = fsrc.read(length) File "/usr/lib/python3.5/zipfile.py", line 844, in read data = self._read1(n) File "/usr/lib/python3.5/zipfile.py", line 934, in _read1 self._update_crc(data) File "/usr/lib/python3.5/zipfile.py", line 862, in _update_crc raise BadZipFile("Bad CRC-32 for file %r" % self.name) zipfile.BadZipFile: Bad CRC-32 for file '11_02_2019.pdf'

program: import string, zipfile, zlib

from zipfile import ZipFile

zf= ZipFile('11_02_2019.pdf.zip')

MAXD=6

upper_case=string.ascii_uppercase uc=list(upper_case)

n=len(uc) print (n)

pos=[] for k in range(0,MAXD): pos.append(0)

print (pos)

for let in range(0,n): print (let, uc[let])

let=0 koniec=0; k3=0 p=0

while koniec != MAXD :

k=0

password=''
for k2 in range(0,MAXD):
    
    password=password+uc[pos[k2]]
    
print   (password)

       
try:

    with zipfile.ZipFile('11_02_2019.pdf.zip') as zf:
        zf.extractall( pwd=password.encode('cp850','replace'))
        print ("Password found:" + password)
        exit(0)
    
except RuntimeError:
    pass

except zlib.error:
    pass
    

#print "ppppppppppppppppppppppppp",p,  paswd


pos[0]=pos[0]+1

for k2  in range(0,MAXD-1):
    if pos[k2]>=n:
        pos[k2]=0
        pos[k2+1]=pos[k2+1]+1

koniec=0

for k2 in range(0,MAXD):
    if pos[k2] >= n-1:
        koniec=koniec+1

Similar behaviuor I observed in older version of python (2.7) and correspondig library.

The zip archive is procted by simple password 'ABCD', the file is not big less tha 1MB.

Best regards Jozef