[New-bugs-announce] [issue36573] zipfile zipfile.BadZipFile: Bad CRC-32 for file '11_02_2019.pdf'
Jozef Cernak
report at bugs.python.org
Tue Apr 9 05:49:43 EDT 2019
New submission from Jozef Cernak <jozefcernak at gmail.com>:
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 <module>
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
----------
components: Library (Lib)
messages: 339722
nosy: Jozef Cernak
priority: normal
severity: normal
status: open
title: zipfile zipfile.BadZipFile: Bad CRC-32 for file '11_02_2019.pdf'
type: crash
versions: Python 3.5
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue36573>
_______________________________________
More information about the New-bugs-announce
mailing list