平常工作中!总会胖到一系列的zip,pdf等加密文件,没有密码很是头痛!准备材料!进群:548377875 即可获取数十套PDF哦!
首先在目录C:UsershyDesktop(就是windows10系统下的桌面)下创建test.zip文件,设其密码为123456
在python中操作zip文件,基本上都是使用zipfile模块,他可以创建、解压文件,获取zip文件的元数据信息。 我们想要操作一个zip文件,第一步就是初始化ZipFile实例。下面我们打开我们准备好的test.zip文件。
目前我们只是传入一个参数地址,实例化了一个对象,想要解压文件还要是要到extractall方法,三个参数,path是解压的路径(默认为解压文件所在路径),members是需要解压出来的文件(默认为全部文件),pwd是密码。
extractall(self,path=None,members=None,pwd=None
zF.extractall(pwd=”1111111”.encode(“ascii”))
再运行提示
zF.extractall(pwd=”123456”.encode(“ascii”))
不过因为我们提前不知道密码,所以就用到密码字典啦,首先实例字典引用,然后把它转化为列表:
这时候可能会提示错误,也有可能不是gbk
这是因为我系统默认的编码为gbk 但是我的密码字典是utf-8,所以报错。可是如果用sys.getdefaultencoding()查看,你会发现
print(“ “+”[“+”>”get_progress+”-“get_pro+’]’+”%.2f” % percent + “%”,end=””)
至于print上面的就是数学上的知识啦。
看这篇文章的估计都不是特别新的新手,就不一步一步教了
这个程序简单,最主要的是你有个强大的密码字典,另外,感兴趣的还可以添加命令行输入路径功能,多线程解压,破解功能。
pdf-parser.py可以让我们了解更多信息:
加密信息在obj 26:
我们可以得出结论使用的标准加密器。这种加密方法用的密钥是40bit的。
QPDF是一款用于确定pdf文件机密的方式。
QPDF的输出是invalid password,这说明pdf是用user 密码加密的。
然后就可以用hashcat工具了,这里用的命令是:
使用的参数有:
工具破解的结果是:
破解的密码是1806。
然后用QPDF进行验证:
结论:
得出的结论是:用40bit加密的4位字符user密码保护的pdf文件,几秒钟就可以用免费的,开源工具破解了。
原文链接:https://www.f2er.com/python/58978.html