# python-zip-crack **Repository Path**: LiaCin/python-zip-crack ## Basic Information - **Project Name**: python-zip-crack - **Description**: Python ���� ZIP ����������������zipfile argparse��4 ���������������� - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-10 - **Last Updated**: 2026-07-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Python 实现 ZIP 文件的暴力破解(分布式并行版) 基于 `zipfile` + `argparse` 的字典暴力破解工具,支持把密码字典**按行号取模切片**, 分发到多台服务器**并行破解**,谁命中谁上报。本项目在 4 台华为云 FlexusX 服务器上实测。 ## 知识点 1. **`zipfile` 的使用方法**:用 `zipfile.ZipFile(...).read(name, pwd=bytes)` 逐个尝试 候选密码——密码错误抛 `RuntimeError`/`zlib.error`,不抛异常即为正确密码。 2. **`argparse` 的使用方法**:用 `argparse` 定义 `--zip / --dict / --shard / --shards` 等命令行参数,让同一份脚本在不同机器上只跑属于自己的字典分片。 ## 文件说明 | 文件 | 说明 | | --- | --- | | `zipcrack.py` | 核心:argparse 解析参数 + zipfile 字典破解 + 分片过滤 | | `make_demo.py` | 生成演示用加密包 `secret.zip` 与字典 `dictionary.txt` | | `run_zipcrack.py` | 本地 paramiko 编排:生成 → 分发 → 4 分片并行 → 汇总 | | `results/` | 每台服务器的运行日志、`result_*.json` 与本地 `summary.txt` | ## 快速开始 ```bash # 1) 生成演示文件(需要系统 zip 命令) python3 make_demo.py --password 742519 --size 60000 --shards 4 --outdir ./demo # 2) 单机全量破解 python3 zipcrack.py --zip demo/secret.zip --dict demo/dictionary.txt # 3) 分布式:第 2 片(4 台机器分别用 --shard 0/1/2/3) python3 zipcrack.py --zip demo/secret.zip --dict demo/dictionary.txt --shard 2 --shards 4 ``` ## 分布式分片原理 第 `i` 台机器只尝试满足 `行号 % shards == i` 的密码。4 台机器合起来恰好覆盖全字典、 互不重叠,理想情况下速度接近单机的 4 倍。