使用python制作zip口令破解程序
一、如何用python操作zip文件
python标准库中有一个叫zipfile.py的文件,在程序中导入它
import zipfile
一般情况下,它的语法是这样的
import zipfile
zipfile = zipfile.ZipFile("zipfile.zip")
#这里的zipfile.zip是要解压的文件(要和本程序在同一目录下)
zipfile.extractall(pwd="12345")
#这里的12345应为要解压文件的密码
可是一旦运行
很不幸,报错了
原因是在zipfile.extractall(pwd="password")
这类型出错
不用慌
这似乎属于编码类型不一样,在后面加encode(‘ascii’)就可以了
import zipfile
zipfile = zipfile.ZipFile("zipfile.zip")
#这里的zipfile.zip是要解压的文件(要和本程序在同一目录下)
zipfile.extractall(pwd="12345".encode("ascii"))
#这里的12345应为要解压文件的密码
很好,现在不报错了
如果密码不正确呢
很简单,他会报错,但我们可以利用以上所讲来破解一个zip文件
二、使用字典进行破解
在了解基本语法后破解的原理就非常简单了,我们现在只需要一个存放着成百上千的密码的txt文件,然后将每一个密码赋给pwd去尝试,直到正确为止。
但我们得待会再下载密码字典,因为一般字典非常大,几百万条密码,会使我们的程序进行的非常慢,先自己做一个带密码的zip文件,密码就设置12345,再在同一目录下新建txt文件,里面输一些密码,必须包含12345,类似于这样
接下来我们用open()和readlines()读取刚才创建的txt文件里的内容,用try…except…来保证即使是错误的密码,程序也会继续运行