zip文件解压失败怎么办_文件解压 *** 作流程

zip文件解压失败怎么办_文件解压 *** 作流程,第1张

zip文件解压失败怎么办_文件解压 *** 作流程 Python暴力破解ZIP文件密码通过Python内置的zipfile模块实现对zip文件的解压,加点料完成口令破解zipfile模块用来做zip格式编码的压缩和解压缩的,zipfile里有两个非常重要的class, 分别是ZipFile和ZipInfo, 在绝大多数的情况下,我们只需要使用这两个class就可以了。


ZipFile是主要的类,用来创建和读取zip文件而ZipInfo是存储的zip文件的每个文件的信息的。


比如要读取一个Python zipfile 模块,这里假设filename是一个文件的路径:import zipfilez = zipfile.ZipFile(filename, ‘r’)for i in z.infolist():print i.file_size, i.header_offset1234这里使用了z.infolist(), 它返回的就是压缩包内所有文件的信息,就是一个ZipInfo的列表。


一个ZipInfo对象中包含了压缩包内一个文件的信息,其中比较常用的是 filename, file_size, header_offset, 分别为文件名,文件大小,文件数据在压缩包中的偏移。


假设我们有一个已知密码为123的ZIP文件import zipfile #导入模块,它是做压缩和解压缩的password=”123″zfile = zipfile.ZipFile(“test.zip”) #要解压缩的压缩包zfile.extractall(path=’C:\\Users\\Administrator\\Desktop\\’, members=zfile.namelist(), pwd=password.encode(‘utf-8’))#进行解压缩 *** 作,path为输出的路径12345测试成功,下面进行暴力破解#此代码适合于破解密码为0-999999的密码,数字区间可以自己设置import timeimport zipfilefrom tqdm import tqdmdef zipcrackl(start,end): a = time.time() zfile = zipfile.ZipFile(‘D:/BaiduNetdiskDownload/16.zip’)#把要破解的zip的文件名替换ZipFile里面的参数 for i in tqdm(range(start,end)): try: zfile.extractall(path=’C:\\Users\\Administrator\\Desktop\\’,pwd=str(i)) print(u’密码是:’+str(i)) print(u’破解时间是:’+str(time.time()-a)+’s’)#破解时间减去开始那个时刻的时间,得到的就是破解这个压缩文件的时间 break except Exception as e: #print(e) passif __name__ == ‘__main__’: zipcrackl(0,999999)123456789101112131415161718如果密码中还有其他非数字字符,考虑使用破解字典的方法。


以下代码中pwd为自己设置的密码字典。


import zipfilezfile = zipfile.ZipFile(“test.zip”)passFile=open(‘pwd.txt’) #读取你设定的密码文件for line in passFile.readlines(): try: password = line.strip(‘\n’) zfile.extractall(path=’C:\\Users\\Administrator\\Desktop\\’, members=zfile.namelist(), pwd=password.encode(‘utf-8’)) break except: print(“又错了”)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/643556.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-17
下一篇 2022-04-17

发表评论

登录后才能评论

评论列表(0条)

保存