CTF思路
点击放大

English
ZipCracker 是 Hx0 战队开发的一款面向 ZIP 压缩包的综合破解与恢复工具,非常适用于新手拿来解决 CTF 常见 ZIP 题型,也适用于经授权的安全测试和自有加密备份恢复场景。它将伪加密识别与修复、字典爆破、掩码猜解、短明文 CRC32 枚举、已知明文攻击等常见手段整合为一条完整流程,支持超大字典快速加载、多线程高并发调度,并在命中后自动解压,帮助用户更高效地完成 ZIP 分析与恢复。
<img width="3020" height="1574" alt="image" src=" />
ZipCracker上手简单,简单的说主要能力包括:
-kpa)如果你只是第一次使用,这份 README 看下面 3 个部分就够了:
1. 快速开始
2. 常见用法
3. 常见问题
首次使用最常见的命令:
| 项目 | 说明 |
| :--- | :--- |
| Python | 最低 Python 3.7,推荐 Python 3.10+ |
| 操作系统 | Linux / macOS / Windows |
| 必需依赖 | Python 标准库 |
| 可选依赖 | pyzipper,用于 AES ZIP |
| 可选依赖 | bkcrack,用于更快的已知明文恢复 |
如果第一次运行就报:
通常表示你的 Python 太旧。先看版本:
建议直接升级到 Python 3.10+。
#### 1. pyzipper
pyzipper 用于处理 AES ZIP。
脚本行为:
n 可以跳过手动安装:
如果目标 ZIP 使用 AES,脚本会额外提醒你两件事:
1. AES 本来就比传统 ZipCrypto 更慢
2. 如果没装 pyzipper,AES 条目的验证或解压可能失败,建议先安装后再试
#### 2. bkcrack
bkcrack 主要用于 -kpa 已知明文攻击时的无字典恢复。
脚本行为:
bkcrack,会优先尝试更快的恢复方式n 可以跳过,脚本会继续走字典或掩码流程--bkcrack,那就必须安装,否则会直接退出Windows 下如果提示运行库问题,程序会直接打印:
#### 1. 伪加密识别与修复
<img width="1330" height="532" alt="3c59ee25-7ea1-4fc0-92ec-1f98b01e9686" src=" />
#### 2. 默认字典爆破
默认会依次尝试:
1. password_list.txt
2. 1 到 6 位纯数字密码
<img width="1460" height="774" alt="785a0b1d-4912-4ab7-b965-fb0b42fc5a85" src=" />
如果你只是直接运行:
而前面的常规路径都失败了,程序还会额外检查压缩包里是否存在更像 png / zip / exe / pcapng 模板明文攻击的条目。
如果检测到这类候选,并且模板置信度足够高,程序会询问你是否自动切到模板 KPA 模式继续尝试。
如:
<img width="2360" height="1712" alt="7f3fa23e-5824-4b81-8e47-a39f6f37e7f8" src=" />
#### 3. 自定义字典
单个字典文件:
<img width="1590" height="770" alt="bb89dfeb-4227-43a7-b532-e6adeea851df" src=" />
字典目录:
<img width="1560" height="1194" alt="1e1deee9-cf15-40c5-acb4-789bfb2c80a0" src=" />
#### 4. 短明文 CRC32 枚举恢复
对 ZIP 中长度为 1~6 字节的条目,可按归档记录的 CRC32 对可打印字符内容进行原像枚举;当候选内容计算得到的 CRC32 与记录值一致时,即判定为内容命中(终端会自动询问是否执行)。
<img width="1616" height="656" alt="730083af-ad56-4490-be43-770445d26589" src=" />
#### 5. 掩码爆破
掩码占位符:
| 占位符 | 含义 |
| :--- | :--- |
| ?d | 数字 0-9 |
| ?l | 小写字母 a-z |
| ?u | 大写字母 A-Z |
| ?s | 特殊字符 |
| ?? | 问号 ? 本身 |
<img width="1614" height="738" alt="de9fb632-e882-4790-9f19-67569bb99f7d" src=" />
#### 6. 已知明文攻击
自动优先尝试 bkcrack,失败后继续字典/掩码:
<img width="2262" height="828" alt="acad2042-46d8-44ce-b7e7-61dda1648364" src=" />
如果你手里拿到的是“无密码的对照 ZIP”,也可以直接这样:
<img width="2414" height="1098" alt="f4fe2d5e-4e1f-479c-a9fe-66675cd4a4b5" src=" />
说明:
1. -kpa 后面既可以是普通明文文件,也可以是无密码 ZIP
2. 如果传入的是 ZIP,程序会优先寻找与目标条目同名的文件
3. 如果传入的是普通文件,程序也会优先按同名文件自动匹配 ZIP 内条目
4. 如果明文 ZIP 里只有一个普通文件,也会自动使用它
重要说明:
ZIP_STORED,原始文件通常可以直接作为 -kpa 输入。ZIP_DEFLATED / ZIP_BZIP2 / ZIP_LZMA,被加密的通常是压缩后的数据流,直接传入未压缩原文件可能会出现 ciphertext is smaller than plaintext。--kpa-offset 只能表示已知字节在加密前数据流里的起始偏移,不能把未压缩原文件自动对应到压缩后数据。docs/KPA_KNOWN_PLAINTEXT_NOTE.md。指定 ZIP 内条目:
如果你手里只有“部分明文”,可以加偏移和附加字节:
说明:
1. --kpa-offset 表示这段明文在目标文件里的起始偏移
2. -x 表示额外已知字节,写法是 -x 偏移 十六进制
3. -x 可以重复写多次
4. 也支持简写成 -x 0:4d5a
如果你只有常见文件头,可以直接用模板:
可用模板:
pngzipexepcapng只允许走 bkcrack:
区别很简单:
-kpa:bkcrack 失败后还能继续其他方法-kpa --bkcrack:只跑 bkcrack,失败就结束#### 7. 指定输出目录
ZipCracker 可以处理很大的字典,不会一次性把整份字典读进内存。
如果字典很大,比如 10GB+,推荐直接跳过预统计:
<img width="2348" height="684" alt="d8f97f4d-6698-4f1d-bb92-1f7d593751c4" src=" />
这样做的好处:
1. 启动更快
2. 内存更稳
3. 进度条会改成“流式进度”,按文件读取量显示
#### 1. 为什么 AES 看起来特别慢?
这是正常现象。
AES 的密码校验和解压本来就通常比传统 ZipCrypto 慢很多。
如果脚本检测到 AES,它会主动提示你“这会更慢”。
#### 2. 没装 pyzipper 会怎样?
如果 ZIP 里有 AES 条目,而当前没装 pyzipper:
1. 脚本会先提示你安装
2. 你也可以输入 n 跳过
3. 但继续运行时,AES 条目的验证或解压可能失败
最稳妥的做法还是先安装:
#### 3. Windows 安装 bkcrack 时提示 CERTIFICATE_ 是什么情况?
这通常不是单纯“GitHub 访问不了”,而是当前 Python 的 HTTPS 证书校验失败。
脚本现在会自动尝试:
1. Python 默认下载
2. Windows 下回退到 curl.exe
3. 再不行回退到 PowerShell
如果还失败,优先检查:
1. 系统时间是否准确
2. 是否有代理、网关、杀软拦截 HTTPS
3. 浏览器是否能正常打开 GitHub release 页面
#### 4. Windows 下 bkcrack 退出码 3221225477 是什么?
这个值换成十六进制是:
表示 Windows Access ,也就是 bkcrack.exe 自己崩了。
这通常不是密码错误。建议优先尝试:
同时也建议:
1. 安装或修复 Microsoft C++ Redistributable
2. 临时关闭杀软或给 bkcrack.exe 加白名单
3. 如果仍崩溃,优先在 WSL / Linux 下使用 bkcrack
#### 5. 为什么已经解压成功了,风扇还在转?
通常不是后台僵尸进程没退出,而是脚本还在继续尝试反推出原始 ZIP 密码。
如果你只关心解压结果,可以跳过:
#### 6. 为什么超大字典刚开始看起来像没动静?
默认模式下脚本会先统计总密码数。
如果你更在意启动速度,用这条:
一般用户最常用的是下面这几个:
| 变量名 | 作用 |
| :--- | :--- |
| ZIPCRACKER_SKIP_DICT_COUNT=1 | 跳过超大字典预统计 |
| ZIPCRACKER_SKIP_ORIG_PW_RECOVERY=1 | KPA 解压后不再继续反推原始 ZIP 密码 |
| ZIPCRACKER_AUTO_INSTALL_PYZIPPER=0 | 自动跳过 pyzipper 安装提示 |
| ZIPCRACKER_AUTO_INSTALL_BKCRACK=0 | 自动跳过 bkcrack 安装提示 |
| BKCRACK_JOBS=1 | 降低 bkcrack 线程数,适合 Windows 排障 |
感谢 对本项目的支持与建议。
ZipCracker 已上线 ClawHub 技能中心。在 OpenClaw 中可通过自然语言无缝调用本工具,自动拼接并执行解密 / 破解流程,让 CTF 与安全自查更高效。
技能主页:
安装: 请先完成 ClawHub 客户端的安装与配置,然后在终端执行:
安装完成后,可直接对 AI 助手说例如:「帮我用 ZipCracker 破解这个压缩包,尝试一下掩码攻击,格式是四个数字」,由助手代为构建并执行对应命令。
请仅在合法授权的场景下使用本工具,例如:
请勿将本工具用于任何未授权的攻击或非法用途。
---
【打赏支持❤️】代码传情跨山海,点滴支持皆温暖✨
虽然代码完全开源,但每杯咖啡都能让我们走得更远 ☕️
<img width="500" height="400" alt="打赏码" src=" />
【战队公众号】扫描关注战队公众号,获取最新动态
<img width="318" alt="image" src="
【战队知识星球】福利大放送
<img height="380" alt="image" src=" />
开发语言:Python
Star 数:949
该项目属于CTF思路方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕ZipCracker是Hx0战队出品的一款功能强大的Zip密码破解工具。它集成了字典攻击、掩码攻击、短明文 CRC32 枚举恢复、已知明文攻击等多种破解模式,并能自动修复伪加密文件。凭借其高性能与多功能的特点,ZipCracker已成为CTF比赛中的一把利器。(ZipCracker by Hx0 team is a tool for cracking passwords on Zip files, great for CTF competitions.)展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | ZipCracker - ZipCracker是Hx0战队出品的一款功能强大的Zip密码破解工具。它集成了字典攻击、掩码攻击、 |
| 所属分类 | CTF思路 |
| 发布作者 | admin |
| 发布时间 | 2026-10-05 23:38:39 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 405 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |