利⽤Python暴⼒破解zip⽂件⼝令的⽅法详解
前⾔
通过Python内置的zipfile模块实现对zip⽂件的解压,加点料完成⼝令破解
zipfile模块⽤来做zip格式编码的压缩和解压缩的,zipfile⾥有两个⾮常重要的class, 分别是ZipFile和ZipInfo, 在绝⼤多数的情况下,我们只需要使⽤这两个class就可以了。ZipFile是主要的类,⽤来创建和读取zip⽂件⽽ZipInfo是存储的zip⽂件的每个⽂件的信息的。
⽐如要读取⼀个Python zipfile 模块,这⾥假设filename是⼀个⽂件的路径:
import zipfile
z = zipfile.ZipFile(filename, 'r')
for i in z.infolist():
print i.file_size, i.header_offset
这⾥使⽤了z.infolist(), 它返回的就是压缩包内所有⽂件的信息,就是⼀个ZipInfo的列表。⼀个ZipInfo对
象中包含了压缩包内⼀个⽂件的信息,其中⽐较常⽤的是 filename, file_size, header_offset, 分别为⽂件名,⽂件⼤⼩,⽂件数据在压缩包中的偏移。
准备阶段
⾸先你需要⼀个压缩⽂件,并且给它加上密码,样⼦长成这样
然后你就成功Get了⼀个⾃带密码的压缩⽂件,好了,这就结束了
暴⼒破解
⾸先我们先知道下什么是暴⼒破解,其实简单粗暴点来说,就是通过轮循的⽅式⽐对,我们⼀定都知道MD5加密,那么MD5是不可逆的,那⽹上那些所谓的MD5解密的⽹站是怎么做到的,其实也是暴⼒破解的⽅式。
举个栗⼦,你通过MD5加密了⼀段字符串str="abc"加密后的结果为 "3cd24fb0d6963f7d" 这么⼀长串别⼈肯定看不懂,MD5解密⽹站怎么做的,他们⾃⼰没事⼲的时候开始瞎试,把aa/cc/bb/abc 啥的都开始⽤MD5加密⼀遍,存到⾃⼰的数据库⾥,当你去查询的时候,他们会根据你提供的 "3cd24fb0d6963f7d" 在数据库⾥⾯⽐对,如果巧合的话就能不到,⼤部分情况你的加密字符串稍微复杂点都不到,这就是所谓的MD5解密,也就是暴⼒破解了
上代码
import zipfile #导⼊模块,它是做压缩和解压缩的
password="123" #我们设定的⼝令
zfile = zipfile.ZipFile("test.zip") #要解压缩的压缩包
#进⾏解压缩操作,path为输出的路径
我们运⾏⼀下上⾯的代码(当然你的加密⼝令要为123),会发现在桌⾯上已经把test.zip解压出来了,完美ending,不对还差⼀个暴⼒破解呢,⾃⼰知道密码还要破解啥有⽤,别着急,继续往下看
import zipfile
zfile = zipfile.ZipFile("test.zip")
passFile=open('') #读取你设定的密码⽂件
for line adlines():
try:
password = line.strip('\n')
python怎么读取桌面上的文件actall(path='C:\\Users\\Administrator\\Desktop\\', members=zfile.namelist(), de('utf-8'))
break
except:
print("⼜错了")
<⾥⾯内容如下
1223
abc
aaa
123
好了,这就完成了zip⽂件⼝令的暴⼒破解,其实只是很巧妙的利⽤了try except异常机制,当解压正常的时候就正常密码正常,解压失败会报出异常,动⼿试试
总结
以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作具有⼀定的参考学习价值,如果有疑问⼤家可以留⾔交流,谢谢⼤家对的⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论