900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 暴力破解zip加密压缩包

暴力破解zip加密压缩包

时间:2021-12-19 20:19:36

相关推荐

暴力破解zip加密压缩包

最近恰好有个压缩包要解密,所以稍微研究了一下该怎么去破解加密的压缩包(zip,rar在道理上是一样的)。由于现有的方法中没想到高级的破解方式,所以只有暴力破解压缩包了。

暴力破解压缩包的原理很简单,就是先制作一个密码字典,这个字典是暴力破解的核心,首先就来讲讲如何制作这样一个密码字典,对于一个加密压缩包,我们首先需要猜测的是真实密码会是哪种类型,比如说有纯数字类型(0-9)、纯字母类型(a-z,A-Z)、特殊符号(*&……%…¥)、各种类型相互夹杂的特殊类型。

下面直接上干货(以纯数字为例):

import itertools import stringimport timepaswd_candidate_dict=list(itertools.permutations(['0','1','2','3','4','5','6','7','8','9',],4))paswd_dict=[]start=time.clock()for k in paswd_candidate_dict:list_i=list(k)paswd_candidate=''.join(list_i)file=open('C:/Users/Admin/Desktop/i.txt','r+')file.read()file.write('\n'+paswd_candidate)file.close()end=time.clock()print("time :",round(((end-start)/60),2),"min")

上述代码中,可以看到是假设密码是由纯数字构成的,并且密码只有四位数,paswd_candidate_dict这个就是从0-9之中排列出四个数字的全排列,很明显排列出来的数字都是各不相同的,如果密码中有叠字(1111)这种的话,就需要将上述列表复制4次后再放到列表中候选,也就是说为了一次成功就要看真实密码是多少位数字,0-9就需要多少遍。OK,到这里就已经制作好了需要的密码字典。

接下来就是不断的迭代过程了,从i.txt中不断的读取每一行候选密码,送到压缩包去尝试,直到最终破解出密码。至于具体过程已经有了一位同学写出来了[密码破解]

上面的版本很容易看出,所选数字是没有重复的,所以下面是加强版的秘钥字典:

candidate_list = ['0','1','2','3','4','5','6','7','8','9']file=open('C:/Users/Admin/Desktop/i.txt','r+')for i in candidate_list:for j in candidate_list:for z in candidate_list:for k in candidate_list:key = i+j+z+kfile.read()file.write('\n'+key)file.close()

代码中的循环次数由密码位数决定!比如密码有四位的话,那么就有四层循环,如果是5位密码的话,那么只需要在此例上再添加一个循环即可。

candidate_list中的字符由密码字符决定,此例中假设密码由纯数字组成,如果有字幕的话,那么:candidate_list = ['0','1','2','3','4','5','6','7','8','9,'a’,'b','c',...,'z']

文中的file=open('C:/Users/Admin/Desktop/i.txt','r+')中使用的TXT需要先创建好,输入对应的绝对路径即可。

(/hhhhh_51/article/details/87118028)

本例仅供学习科研,千万不可用于非法途径!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。