阅读背景:

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

来源:互联网 

使用python3


#coding=utf-8
from os import system
source,lengthLimit,workSpace,aPP=r"e:\test.zip",4,r"e:\wsExtract",r'"C:\Program Files-Zipz.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]+=1

def 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))#coding=utf-8
from os import 



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: