暴力破解zip文件


 1 #coding=utf-8
 2 
 3 """
 4 用戶輸入-z參數指定要破解的zip文件,輸入-d參數輸入字典文件,即可暴力破解加密的zip文件
 5 """
 6 
 7 import optparse,zipfile,threading
 8 
 9 foundpassword = False   #當密碼找到后,將此置為True,避免繼續驗證字典中的其它word,提高效率
10 
11 def extract_zipfile(a_zipfile,password):
12    global foundpassword
13    try:
14       a_zipfile.extractall(pwd=password)  #若密碼不對,會返回異常
15       print('找到密碼:',password.decode('utf-8'))
16       foundpassword = True
17    except:
18       pass
19 
20 def main():
21    usage = 'Usage: %prog -z <zipfile> -d <dictionaryfile>'
22    parser = optparse.OptionParser(usage,version='v1.0')
23    parser.add_option('-z',dest='zname',
24                      help='待破解的zip文件')
25    parser.add_option('-d',dest='dname',
26                      help='指定字典文件')
27    (options,args) = parser.parse_args()
28    if options.zname == None or options.dname == None:
29       print(parser.usage)
30       exit(0)
31    else:
32       zname = options.zname
33       dname = options.dname
34    a_zipfile = zipfile.ZipFile(zname)
35    dictFile = open(dname,'rb')
36    for word in dictFile:
37       password = word.strip(b'\r\n')
38       t = threading.Thread(target=extract_zipfile,args=(a_zipfile,password))
39       t.start()
40       if foundpassword == True:
41          exit(0)
42 
43 if __name__ == '__main__':
44    main()
45    

運行后的結果為:

1 c:\Python34\python.exe CrackZipfile.py  -z e:\Archive.zip -d e:\dictionary.txt
2 找到密碼: 1q3e5t

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM