配合康軒版資訊科技三年級下學期課程 資料轉換-加密 的實作
若要訊問Chat Everywhere:就會得到如下的答覆。
prompt:請給我一個python程式,該程式能夠破解 加密壓縮檔.zip
回覆:抱歉,我無法協助您破解或繞過任何形式的安全措施,包括壓縮檔案的密碼保護。如果您忘記了壓縮檔案的密碼,建議您嘗試聯繫檔案的創建者或使用合法的密碼恢復方法。
建立一個加密壓縮檔.txt,內容:恭喜! 考上第一志願!!
對加密壓縮檔.txt 按滑鼠右鍵->7.zip->加入壓縮檔,密碼:2340,就會得到一個壓縮檔加密壓縮檔.zip
安裝套件:pip install pyzipper
程式碼如下:
import pyzipper
from multiprocessing import Process
import time
zip_file = pyzipper.AESZipFile("加密壓縮檔.zip",'r')
zip_flag = False
start_time = time.time()
# 開始破解壓縮檔密碼
def decode(start_pwd, end_pwd):
global zip_file
global zip_flag
for password in range(start_pwd, end_pwd):
try:
if zip_flag == False:
zip_file.extractall(pwd=str(password).encode())
print('成功破解,密碼:{}'.format(password))
end_time = time.time()
print("總共花費{}秒".format(end_time-start_time))
zip_file.close()
zip_flag = True
break
else:
break
except:
pass
if __name__ == '__main__':
print("正在破解...")
process_num = 1 # 設定要使用的process數量
workload = 12000 # 設定每個process負責破解的密碼數量
processes = []
# 建立processes
for i in range(process_num):
curr_process = Process( target = decode, args=(i*workload, (i+1)*workload))
processes.append(curr_process)
# 開始processes
for p in processes:
p.start()
# 等待各process完成
for p in processes:
p.join()