Repository navigation
原有命令继续可用,新增套娃 ZIP 自动恢复,并修复提取完整性、文件保护和跨平台兼容性问题。
python3 ZipCracker.py outer.zip -r
python3 ZipCracker.py outer.zip my_dict.txt -r --keep-nested-zips
- 套娃模式逐层复用字典/掩码;扁平目录支持上千层归档。默认深度 2048、包数量 4096、累计解压量 1GiB,可通过参数调整。
- 只有完整提取成功的中间包才允许自动删除;最外层输入、失败包和无关历史 ZIP 均保留。内层失败或达到限制时返回非零退出码。
- 先暂存验证,再交付到原有输出路径;同名旧文件先备份,交付失败回滚。拒绝越界路径和符号链接条目。
- 修复跨目录启动时的内置字典查找、CRC32 未命中误报成功及恢复结果落盘、bkcrack 的 ZIP LZMA 回退解码,以及缺少 AES 依赖时的无效遍历。
- 修复 Windows 旧编码环境下中文输出崩溃。大条目校验、伪加密修复和 bkcrack 回退提取使用流式处理。
- 保留默认字典/数字兜底、自定义字典目录、掩码、完整/部分/模板 KPA、AES、超大字典流式模式和中英文入口。
验证:本地 41 项测试通过,包含 1100 层链路与实际 AES/bkcrack 恢复;Linux/macOS/Windows、Python 3.7/3.10/3.14 及无可选依赖配置的 6 组 CI 通过。密码校验对照测试未观察到明显性能下降;范围与数据见 docs/V2.2.0_VALIDATION.md。
下载 ZipCracker-v2.2.0.zip 后解压即可使用;标准功能仅需要 Python 标准库,AES 和 bkcrack 仍按需安装。校验文件:SHA256SUMS.txt。
感谢 @halfcity789 在 #19 提出的套娃功能并提供原始实现。