<PY>利用7z暴力破解压缩文件密码

来源:互联网 发布:科沃尔数据 编辑:程序博客网 时间:2024/06/08 10:07

使用python3


#coding=utf-8from os import systemsource,lengthLimit,workSpace,aPP=r"e:\test.zip",4,r"e:\wsExtract",r'"C:\Program Files\7-Zip\7z.exe"'cmdDel=r"rd /S /Q  {0}".format(workSpace)mkFactor=lambda :[chr(i) for i in range(48,127)]def mkPasswdList(fact,size):    maxIndex,item,listSpace=len(fact)-1,[0]*size,[]    while 1:        listSpace.append(''.join([fact[i] for i in item]))  #依据索引增量添加        if item==[maxIndex]*size: #出口,空间构造完毕            return listSpace        status=1  #状态变量,用于判断是否已经发生进位        for i in range(size,0,-1):   #从左往右判断进位关系            if item[-i:]==[maxIndex]*i:                item[-i:]=[0]*i;item[-i-1]+=1;status=0        if status:            item[-1]+=1def crackPasswd(source,lengthLimit,workSpace,aPP):    lengthLimit+=1    length=0    while length<lengthLimit:        length+=1        for passwd in mkPasswdList(mkFactor(),length):            crack=system(' '.join([aPP,'x',source,'-o'+workSpace,'-p{0}'.format(passwd)]),)            print(passwd)            if crack==0:                return passwd            else:                system(cmdDel)print(crackPasswd(source,6,workSpace,aPP))


0 0
原创粉丝点击