1. pool 程序池
2. try...except 異常處理
3.列舉的方式
4.生成器的運用
通過生成假密碼去碰撞!捕獲異常,一直碰撞,直到生成的密碼與壓縮包建立的密碼對應,成功拿到正確的密碼!
import zipfile,timeimport itertools as its
from multiprocessing import pool
#author = __rianley__
def extractfile(numer):
password=generate_pwd(numer) #拿到生成器物件,密碼字典過大,只能用生成器否則一下就把記憶體撐爆了!
zfile = zipfile.zipfile('suite 6.zip') # 開啟zip包
for pwd in password:
try:
zfile.extractall(pwd=bytes(pwd,"utf-8"))
return pwd
except exception as e:
# print(pwd)
continue
def generate_pwd(numer): #生成密碼
words = "1234568790" #密碼範圍:當前表示純數字範圍
r = its.product(words, repeat=numer)
for i in r:
pwd = ''
for num in i:
pwd += num
yield pwd
if __name__ == '__main__':
p = pool() #開啟程序池
res_list = # 定義存放程序的列表
for i in range(1, 30): # 設定 隨機密碼的位數(如果別人的設定的密碼)
print('正在嘗試破解') # 列印一句提示性的資訊
for kill in res_list:
data=kill.get()
if data:
print('破解成功:密碼是:%s'%data)
exit()
3.該文章所闡述的觀點,僅代表個人看法,**僅為學習使用!造成任何商業糾紛與原作者無關!
4.本文由程小航編寫!
用python暴力破解壓縮包密碼
import rarfile import random import time import sys class myiterator 單位字元集合 letters 0123456789 min digits 0 max digits 0def init self,min digits,max d...
Linux常見壓縮包解壓縮
對於.tar結尾的檔案 tar xf all.tar對於.gz結尾的檔案 gzip d all.gz gunzip all.gz對於.tgz或.tar.gz結尾的檔案 tar xzf all.tar.gz tar xzf all.tgz對於.bz2結尾的檔案 bzip2 d all.bz2 bunz...
linux 解壓縮包方式
1.以.a為副檔名bai的檔案 tar xv file.a 2.以.z為副檔名的檔案 uncompress file.z 3.以.gz為副檔名的檔案 gunzip file.gz 4.以.bz2為副檔名的檔案 bunzip2 file.bz2 5.以.tar.z為副檔名的檔案 tar xvzf fi...