python3 ZIP文件密码破解
来源:互联网 发布:靠网络赚钱 编辑:程序博客网 时间:2024/05/18 01:08
***1 准备材料***
首先在目录C:\Users\hy\Desktop(就是windows10系统下的桌面)下创建test.zip文件,设其密码为123456
password.txt是密码字典 ,里面是我随便输入的一些密码。
下面使用PyCharm编写代码
ZIP FLIE
在python中操作zip文件, 基本上都是使用zipfile模块,他可以创建、解压文件,获取zip文件的元数据信息。我们想要操作一个zip文件,第一步就是初始化ZipFile实例。下面我们打开我们准备好的test.zip文件。
import zipfilezF = zipfile.ZipFile(r"C:\Users\hy\Desktop\test.zip");
目前我们只是传入一个参数地址,实例化了一个对象,想要解压文件还要是要到extractall方法,三个参数,path是解压的路径(默认为解压文件所在路径),members是需要解压出来的文件(默认为全部文件),pwd是密码。extractall(self,path=None,members=None,pwd=None)
import zipfilezF = zipfile.ZipFile(r"C:\Users\hy\Desktop\test.zip")zF.extractall(pwd="1111111")
我们会发现运行提示错误
提示我们的pwd的参数编码不对, 这是因为在python3中pwd需要的是byte, 所以需要我们自己转化
zF.extractall(pwd=”1111111”.encode(“ascii”))
再运行提示
这才是正常的密码错误提示,这时候更在一下密码即可
zF.extractall(pwd=”123456”.encode(“ascii”))
不过因为我们提前不知道密码,所以就用到密码字典啦,首先实例字典引用,然后把它转化为列表
zpassword=open(r"C:\Users\hy\Desktop\password.txt")zpw=zpassword.readlines() #readines()以列表的形式返回一个list,按照每行读取
这时候可能会提示错误,也有可能不是gbk
这是因为我系统默认的编码为gbk 但是我的密码字典是utf-8,所以报错。可是如果用sys.getdefaultencoding()查看,你会发现
是utf-8,这个并不准确,正确的方法是:
在Windows平台下,进入DOS窗口,输入:chcp
我的活动代码页为:936,它对于的编码格式为GBK
所以要我们自己取设置读取使用的编码:
zpassword=open(r"C:\Users\hy\Desktop\password.txt",encoding="utf-8")
另外为了直观的看到进度,我添加了进度条功能,只要用的是
print("\r"+"这里写内容"+,end=""),#\r代表不换行,然后清空本行从开头书写。
def progressbar(nowprogress,toyal): #nowprogress现在的进度数 toyal#总数 get_progress=int((nowprogress+1)*(50/toyal)) #显示多少> get_pro=int(50-get_progress)#显示多少- percent=(nowprogress+1)*(100/toyal) print("\r"+"["+">"*get_progress+"-"*get_pro+']'+"%.2f" % percent + "%",end="")
至于print上面的就是数学上的知识啦。
看这篇文章的估计都不是特别新的新手,就不一步一步教了,
#-*- coding: UTF-8 -*-import zipfiledef progressbar(nowprogress,toyal): #nowprogress现在的进度数 toyal#总数 get_progress=int((nowprogress+1)*(50/toyal)) #显示多少> get_pro=int(50-get_progress)#显示多少- percent=(nowprogress+1)*(100/toyal) print("\r"+"["+">"*get_progress+"-"*get_pro+']'+"%.2f" % percent + "%",end="")def setpass(zip,password): try: zip.extractall(pwd=password.encode("ascii")) return password except Exception as e: returndef main(): zf=zipfile.ZipFile(r"C:\Users\hy\Desktop\test.zip") zpassword=open(r"C:\Users\hy\Desktop\password.txt",encoding="utf-8") zpw=zpassword.readlines() for i in zpw: progressbar(zpw.index(i),len(zpw)) password=i.strip("/n") gess=setpass(zf,password) if gess: print("\n"+"正确密码:"+password) exit(0)if __name__=="__main__": main()
这个程序简单,最主要的是你有个强大的密码字典,另外,感兴趣的还可以添加命令行输入路径功能,多线程解压,破解功能。
最后:还望各位看官手下留情,多多指教~
- python3 ZIP文件密码破解
- 破解zip文件密码
- python暴力破解zip密码文件
- 使用python破解zip文件密码
- zip+密码暴力破解
- python破解zip密码
- Python压缩解压缩zip文件及破解zip文件密码的方法
- Zip加密文件破解
- 破解加密zip文件
- 暴力破解Zip 文件
- ZIP RAR文件密码破解软件ARCHPR Pro4.54绿色中文破解版
- 一个在线的文件密码破解网站( rar文件、zip文件、pdf文件、ppt文件、xls文件)
- python多线程破解zip文件
- 利用批处理文件轻巧,破解 RAR,ZIP 密码?
- 利用批处理文件轻巧,破解 RAR,ZIP 密码
- Linux下用fcrackzip破解zip密码
- hadoop编程:暴力破解ZIP密码
- 用字典暴力破解ZIP压缩文件密码
- 程序员最经常访问的站点
- ubuntu下安装swoole
- java protostuff实现文件级数据缓存,使用文件缓存对象,java文件级数据缓存
- shell与C语言
- 【Nginx】利用nginx搭建集群环境
- python3 ZIP文件密码破解
- Ubuntu禁用触摸板
- 线性表综合实验之间接寻址
- 双向循环链表实现大数四则运算
- KMP算法 next与nextval的求解
- JavaScript实现存款利息计算器
- Map集合
- 全局指针的定义
- scala的intersect的一种应用场景