Python网安-zip文件暴力破解(仅供学习)

目录

源码在这里

需要的模块

准备一个密码本和需要破解的ZIP文件

一行一行地从密码文件中读取每个密码。

核心部分

注意,需要修改上段代码注释里的这段具有编码问题的代码:


源码在这里

https://github.com/Wist-fully/Attack/tree/cracker

需要的模块

python 复制代码
from tqdm import tqdm
import zipfile
import pyzipper

准备一个密码本和需要破解的ZIP文件

python 复制代码
passwordfile = "PasswordFile.txt"
zip_file = "zzipp.zip"

一行一行地从密码文件中读取每个密码。

python 复制代码
n_words = len(list(open(passwordfile,"rb")))
print("总密码共有: ",n_words)

核心部分

使用 tqdm 显示一个进度条,让你知道已经试了多少个密码。

使用 pyzipper 尝试用这个密码去解压 ZIP 文件。

如果密码正确,就显示成功并输出正确的密码;如果不对,就跳过继续试下一个。

python 复制代码
with open(passwordfile,"rb") as wordlist:
    for word in tqdm(wordlist,total=n_words,unit="word"):
        pwd = str(word,'utf-8').replace('\n','')
        try:
            # 把zip_file.extractall(pwd=pwd),修改为下面这句代码
            with pyzipper.AESZipFile(zip_file, 'r', compression=pyzipper.ZIP_DEFLATED, encryption=pyzipper.WZ_AES) as extracted_zip:
                extracted_zip.extractall(pwd=str.encode(pwd))
        except:
            continue
        else:
            print("[+] password found:",word.decode().strip())
            exit(0)
print("[!] password not found,try other wordlist")

注意,需要修改上段代码注释里的这段具有编码问题的代码:

python 复制代码
zip_file.extractall(pwd=pwd)
相关推荐
CoderCodingNo3 小时前
【GESP】C++二级真题 luogu-B4497, [GESP202603 二级] 数数
开发语言·c++·算法
ss2733 小时前
致Java初学者的一封信
java·开发语言
white-persist3 小时前
【vulhub spring CVE-2018-1270】CVE-2018-1270 Spring Messaging 远程命令执行漏洞 完整复现详细分析解释
java·服务器·网络·数据库·后端·python·spring
We་ct3 小时前
LeetCode 50. Pow(x, n):从暴力法到快速幂的优化之路
开发语言·前端·javascript·算法·leetcode·typescript·
阿里嘎多学长4 小时前
2026-04-12 GitHub 热点项目精选
开发语言·程序员·github·代码托管
EnCi Zheng4 小时前
P2G-Python字符串方法完全指南-split、join、strip、replace的Python编程利器
开发语言·python
潇洒畅想4 小时前
1.1 从∑到∫:用循环理解求和与累积
java·数据结构·python·算法
爱学习的小囧4 小时前
VCF 9 实验室网络部署全攻略:从硬件连接到配置实操
开发语言·网络·php
有一个好名字4 小时前
Claude Code 50+命令全解析
python
liliangcsdn4 小时前
LLM如何与mcp server交互示例
linux·开发语言·python