背景介紹:
在工作中我們可能會遇到一些加密過的壓縮文件,如果需要獲取壓縮文件的內容,必須先解密,然而僅憑手動去嘗試肯定是不大可能的,那么我們借助 Python 來實現會極大的增加破解成功的可能性。
Python 代碼實現如下:
1 import zipfile 2 import rarfile 3 import time 4 5 def extractFiles(filename): 6 #記錄開始時間 7 start_time = time.time() 8 9 #判斷壓縮包類型並讀取壓縮包 10 if(filename.endswith(".zip")): 11 fp=zipfile.ZipFile(filename,'r') 12 if(filename.endswith(".rar")): 13 fp=rarfile.RarFile(filename,'r') 14 15 #讀取密碼本文件 16 try: 17 passwdfiles=open("passwd.txt") 18 except: 19 print("the file not found") 20 21 #遍歷密碼本中的每一行密碼去匹配 zip 加密文件 22 for line in passwdfiles.readlines(): 23 passwd= line.strip("\n") 24 # passwd=line 25 try: 26 #調用extractall來依次嘗試密碼 27 fp.extractall(path='.',pwd=passwd.encode("utf-8")) 28 print("the %s of passwd is right"%passwd) 29 except: 30 print("the %s of passwd is wrong"%passwd) 31 32 # 記錄結束時間 33 end_time = time.time() 34 print('破解壓縮包花了%s秒' % (end_time - start_time)) 35 36 if __name__ == '__main__': 37 extractFiles("test.zip")
小結:
上述示例代碼適合以.zip和.rar兩種格式結尾的壓縮文件的解密,其主要思路是循環使用密碼本中的每一行密碼嘗試進行壓縮文件的解密操作,最后記錄整個解密過程共花費的時長,以秒為單位。
歡迎關注【無量測試之道】公眾號,回復【領取資源】
Python編程學習資源干貨、
Python+Appium框架APP的UI自動化、
Python+Selenium框架Web的UI自動化、
Python+Unittest框架API自動化、
資源和代碼 免費送啦~
文章下方有公眾號二維碼,可直接微信掃一掃關注即可。
備注:我的個人公眾號已正式開通,致力於測試技術的分享,包含:大數據測試、功能測試,測試開發,API接口自動化、測試運維、UI自動化測試等,微信搜索公眾號:“無量測試之道”,或掃描下方二維碼:
添加關注,讓我們一起共同成長!