unzip.py
import zipfile
#from unrar import rarfile
import threading
import sys
# 判断线程是否需要终止
flag = True
def extract(password, file):
try:
password = str(password)
file.extractall(pwd=password.encode('utf-8'))#zip解压缩
#file.extractall(pwd=password)#rar解压缩
print("压缩包的密码是:{}".format(password))
global flag
flag = False
except Exception:
#密码错误则跳过
pass
def main():
filename = sys.argv[1]
file = zipfile.ZipFile(filename)
#file = rarfile.RarFile("pwd.rar")
#数字密码范围
for number in range(100000,999999):
if flag is True:
number=str(number).zfill(6)
print(number)
t = threading.Thread(target=extract, args=(number, file))
t.start()
t.join()
if __name__ == '__main__':
main()