avdrevygh/ziprack
GitHub: avdrevygh/ziprack
一款基于字典攻击的 ZIP 压缩包密码恢复工具,无外部依赖,支持跨平台运行。
Stars: 1 | Forks: 0
# ZIPRACK
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
[]
一个基于 Python 的 ZIP 密码恢复工具,使用字典/字典表攻击来暴力破解受密码保护的 ZIP 归档文件。
## 📋 目录
- [特性](#-features)
- [系统要求](#-requirements)
- [安装](#-installation)
- [使用方法](#-usage)
- [创建加密 ZIP 文件](#-creating-encrypted-zip-files)
- [工作原理](#-how-it-works)
- [配置](#-configuration)
- [示例](#-examples)
- [故障排除](#-troubleshooting)
- [法律免责声明](#-legal-disclaimer)
- [许可证](#-license)
## ✨ 特性
- **字典攻击**:系统地尝试用户提供的字典表中的密码
- **实时反馈**:显示每次密码尝试的进度和状态
- **错误处理**:优雅地处理常见错误(无效文件、权限等)
- **重试支持**:允许在不重启脚本的情况下进行多次尝试
- **跨平台**:支持 Linux、macOS 和 Windows(需 Python 3)
- **轻量级**:无需外部依赖
## 📦 系统要求
| 需求 | 版本 |
|-------------|---------|
| Python | 3.6 或更高版本 |
| ZIP 文件 | 受密码保护(加密) |
| 字典表 | 纯文本文件(每行一个密码) |
**无需外部包** – 使用 Python 内置的 `zipfile` 模块。
## 🚀 安装
### 选项 1:从仓库克隆
```
git clone https://github.com/zldrelf/ziprack
cd ziprack
```
### 选项 2:手动下载
1. 将 `ziprack.py` 下载到您想要的目录
2. 确保已安装 Python 3(`python3 --version`)
3. 准备好您的字典表文件
## 📖 使用方法
### 基本执行
```
python3 ziprack.py
```
### 交互式提示流程
1. 出现提示时**输入 ZIP 文件路径**:
Enter the location of the protected ZIP archive: /path/to/protected.zip
2. 出现提示时**输入字典表路径**:
Enter the location of the password list file: /path/to/wordlist.txt
3. 脚本将尝试每个密码并显示结果:
[ATTEMPT] target 192.06.##1
attacking password
---------------
Successfull
Cracked password: secret123
decrypted files saved on default folder
4. **重试选项**:完成后,选择是否重试:
Do you want to retry? (y/n):
## 🔐 创建加密 ZIP 文件
### 使用命令行 (Linux/macOS)
```
zip -e protected.zip filename
```
- `-e`:启用加密(提示输入密码)
- `protected.zip`:输出 ZIP 文件名
- `filename`:要压缩的文件
### 使用 GUI 工具
| 操作系统 | 方法 |
|----|--------|
| **Windows** | 右键 → 7-Zip → 添加到压缩包 → 设置密码 |
| **macOS** | 使用 Keka 或 The Unarchiver 进行加密 |
| **Linux** | 使用 `zip -e` 命令或归档管理器 |
## ⚙️ 工作原理
```
┌─────────────────────────────────────────────────────────────┐
│ ZIPRACK Workflow │
├─────────────────────────────────────────────────────────────┤
│ 1. Load encrypted ZIP file │
│ 2. Load wordlist file │
│ 3. For each password in wordlist: │
│ a. Strip whitespace │
│ b. Attempt extraction with password │
│ c. On success: Extract & report │
│ d. On failure: Continue to next password │
│ 4. If all passwords fail: Report failure │
│ 5. Optional: Retry with new files │
└─────────────────────────────────────────────────────────────┘
```
### 密码尝试逻辑
```
for password in wordlist:
try:
zf.extractall(pwd=password.encode())
# Success - password found
except RuntimeError:
# Failed - try next password
```
## 🔧 配置
### 调整延迟时间
默认情况下,脚本包含用于视觉效果的人工延迟:
```
time.sleep(0.5) # Delay between attempts
```
**对于生产环境使用**,请移除或减少这些延迟:
```
# 删除这些行以加快执行速度:
# time.sleep(0.5) # 第 ~45 行
# time.sleep(0.5) # 第 ~65 行
```
### 字典表格式
- 每行一个密码
- 无需特殊格式
- 空白字符会自动去除
**示例 wordlist.txt:**
```
password123
secret
qwerty
HelloWorld22
```
## 📚 示例
### 示例 1:使用样本文件测试
```
python3 ziprack.py
# 输入: ./protected.zip
# 输入: ./wordlist.txt
```
### 示例 2:绝对路径
```
python3 ziprack.py
# 输入: /home/user/archives/backup.zip
# 输入: /usr/share/wordlists/rockyou.txt
```
### 示例 3:自定义字典表
创建您自己的目标字典表:
```
echo "password123" > custom_wordlist.txt
echo "admin" >> custom_wordlist.txt
echo "letmein" >> custom_wordlist.txt
python3 ziprack.py
```
## 🛠️ 故障排除
| 错误 | 原因 | 解决方案 |
|-------|-------|----------|
| `FileNotFoundError` | 文件路径不正确 | 使用 `ls` 或文件资源管理器验证路径 |
| `PermissionError` | 权限不足 | 使用 `chmod` 或以适当权限运行 |
| `Invalid ZIP file` | 文件损坏或非 ZIP 文件 | 使用 `file filename` 验证文件完整性 |
| `The ZIP file is too large` | 内存限制 | 使用具有更多 RAM 的机器 |
| `Could not crack the password` | 密码不在字典表中 | 尝试更大/不同的字典表 |
| `extractall() got an unexpected keyword argument 'pwd'` | Python 版本问题 | 确保安装了 Python 3.6+ |
### 常见修复
**检查 Python 版本:**
```
python3 --version
```
**验证 ZIP 文件是否已加密:**
```
unzip -l protected.zip
# 查找加密指示符
```
**测试字典表格式:**
```
head -n 10 wordlist.txt
```
## ⚖️ 法律免责声明
**重要提示:** 此工具仅用于教育和授权的安全测试目的。
- ✅ **允许**:测试您拥有或获得明确书面许可测试的 ZIP 文件
- ❌ **禁止**:未经授权访问文件、违反隐私法或任何非法活动
**使用此工具即表示您承认:**
1. 您有责任遵守所有适用法律
2. 未经授权访问计算机系统/文件是违法的
3. 作者不对滥用本软件承担任何责任
## 📄 许可证
本项目基于 **MIT License** 授权 – 详见 [LICENSE](LICENSE) 文件。
```
MIT License
Copyright (c) 2025 Albin Shiby
```
## 📞 支持
- **问题**:在 GitHub 仓库中提交 issue
- **文档**:参考此 README 获取使用指南
- **安全**:请负责任地报告漏洞
**ZIPRACK** v1.01 | 由 @andreviaaa 创建
*仅供教育用途*
标签:CTF工具, DOS头擦除, Kali工具, PoC, Python, SysWhispers, T1110.001, T1110.002, VEH, ZipRack, ZIP文件, 云资产清单, 加密文件系统, 压缩文件解锁, 字典攻击, 密码破解, 数据解密, 文件破解, 无后门, 暴力破解, 漏洞搜索, 网络安全, 逆向工程, 隐私保护