Python暴力破解ZIP檔案密碼

2021-08-28 21:54:24 字數 2014 閱讀 4787

通過python內建的zipfile模組實現對zip檔案的解壓,加點料完成口令破解

zipfile模組用來做zip格式編碼的壓縮和解壓縮的,zipfile裡有兩個非常重要的class, 分別是zipfile和zipinfo, 在絕大多數的情況下,我們只需要使用這兩個class就可以了。zipfile是主要的類,用來建立和讀取zip檔案而zipinfo是儲存的zip檔案的每個檔案的資訊的。

比如要讀取乙個python zipfile 模組,這裡假設filename是乙個檔案的路徑:

import zipfile 

z = zipfile.zipfile(filename, 'r')

for i in z.infolist():

print i.file_size, i.header_offset

這裡使用了z.infolist(), 它返回的就是壓縮包內所有檔案的資訊,就是乙個zipinfo的列表。乙個zipinfo物件中包含了壓縮包內乙個檔案的資訊,其中比較常用的是 filename, file_size, header_offset, 分別為檔名,檔案大小,檔案資料在壓縮包中的偏移。

假設我們有乙個已知密碼為123的zip檔案

import zipfile #匯入模組,它是做壓縮和解壓縮的

password="123"

zfile = zipfile.zipfile("test.zip") #要解壓縮的壓縮包

zfile.extractall(path='c:\\users\\administrator\\desktop\\', members=zfile.namelist(), pwd=password.encode('utf-8'))

#進行解壓縮操作,path為輸出的路徑

測試成功,下面進行暴力破解

#此**適合於破解密碼為0-999999的密碼,數字區間可以自己設定

import time

import zipfile

from tqdm import tqdm

def zipcrackl(start,end):

a = time.time()

zfile = zipfile.zipfile('d:/baidunetdiskdownload/16.zip')#把要破解的zip的檔名替換zipfile裡面的引數

for i in tqdm(range(start,end)):

try:

zfile.extractall(path='c:\\users\\administrator\\desktop\\',pwd=str(i))

print(u'密碼是:'+str(i))

print(u'破解時間是:'+str(time.time()-a)+'s')#破解時間減去開始那個時刻的時間,得到的就是破解這個壓縮檔案的時間

break

except exception as e:

#print(e)

pass

if __name__ == '__main__':

zipcrackl(0,999999)

如果密碼中還有其他非數字字元,考慮使用破解字典的方法。

以下**中pwd為自己設定的密碼字典。

import zipfile 

zfile = zipfile.zipfile("test.zip")

passfile=open('pwd.txt') #讀取你設定的密碼檔案

for line in passfile.readlines():

try:

password = line.strip('\n')

zfile.extractall(path='c:\\users\\administrator\\desktop\\', members=zfile.namelist(), pwd=password.encode('utf-8'))

break

except:

print("又錯了")

暴力破解zip檔案密碼

lb2.config text 密碼 password flag true except exception as e pass def fn zippath,pwdpath zfile zipfile.zipfile zippath passfile open pwdpath n 0lines p...

python暴力破解加密zip文件

由參加的乙個安全大賽來的。flag檔案在乙個加密的zip檔案裡面,金鑰為6 8位的數字。寫了個python指令碼進行暴力解壓縮。其中暴力破解的密碼生成採用itertools庫提供的函式來產生。即product函式,product函式為求迭代器的笛卡爾積。如下 list1 1,2,3 list2 a,...

Python實戰 暴力破解zip檔案解壓密碼

首先測試檔案為test.txt 僅包含單行文字 壓縮後檔案為test.zip,壓縮密碼為2340,壓縮後刪除目錄下的txt檔案。上圖注意勾選傳統加密。指的是不用0開頭的數字密碼,0開頭見後面的字母組合。原理就是zipfile模組解壓壓縮檔案時,一旦密碼不正確,程式會終止,在try語句只有成功解壓的密...