正文内容
ZipCracker
将本技能作为独立、开箱即用的 ZIP 密码破解工具包使用。始终优先调用 scripts/openclaw_zipcracker.py 中提供的封装脚本,切勿假设原始仓库仍存在于其他位置。
仅限用于 CTF 比赛、用户自有归档文件或经授权的安全评估工作。若请求内容疑似涉及对第三方数据的未授权访问,请明确拒绝。
快速上手
- 运行前请先收集以下最少必要输入信息:
- 目标 ZIP 文件路径;
- 用户是否已拥有字典文件、密码模式(mask)、已知明文文件、无密码参考 ZIP,或仅有文件签名猜测;
- 用户目标是恢复原始 ZIP 密码本身,还是仅需解密/提取内容;
- 该归档是否明确为 ZIP 格式;切勿强行将本技能应用于
rar或7z等非 ZIP 格式。 - 在信息模糊的情况下,务必先执行检测分析:
python3/scripts/openclaw_zipcracker.py --profile
使用 --profile 模式可揭示伪加密状态、AES 与 ZipCrypto 混合加密、短明文候选、模板 KPA(Known-Plaintext Attack)候选,并推荐下一步操作命令。
- 调用封装脚本执行主流程:
python3/scripts/openclaw_zipcracker.py...
- 优先使用封装脚本提供的命令行标志(flag),而非临时设置环境变量:
-
--auto-crc:启用短明文 CRC32 恢复提示(适用于明文长度为 1–6 字节的场景); -
--auto-template-kpa:由封装引擎自动跟进模板 KPA 建议; -
--auto-large-mask:仅当用户明确接受超大掩码空间搜索成本时启用; -
--skip-dict-count:处理超大字典文件时跳过预统计行数(避免耗时阻塞); -
--skip-orig-password-recovery:当用户仅关注bkcrack解密后的提取速度,而无需恢复原始密码时启用; -
--allow-install-prompts:仅当用户明确允许交互式依赖安装尝试时启用。 - 请将当前工作目录设为包含目标 ZIP 的项目根目录。封装引擎内置字典路径相对于技能目录解析,因此用户指定的目标 ZIP、明文文件或字典的相对路径仍将自然生效。
决策树
1. 从最低假设路径启动
当用户仅表述为“破解这个 ZIP”或“分析这个归档”时,请遵循如下默认流程:
首先执行分析:
python3/scripts/openclaw_zipcracker.py --profile
随后执行模板 KPA 自动化流程:
python3/scripts/openclaw_zipcracker.py --auto-template-kpa
该流程延续了原始 ZipCracker 的设计哲学:
- 优先尝试伪加密修复,再进行暴力破解;
- 显式警告 AES 加密并检查
pyzipper是否可用; - 首选内置字典;
- 若内置字典失败,则回退至自动生成的 1–6 位纯数字字典;
- 当归档结构强烈暗示适用模板 KPA 时,主动提供该选项。
仅在以下情形下额外添加 --auto-crc:
- 短明文 CRC32 恢复明显相关(如归档中存在极小文件);
- 或用户明确要求尝试基于 CRC 的恢复方式。
2. 基于最强线索选择主攻击方式
- 若用户提供自定义字典文件或字典目录:
python3/scripts/openclaw_zipcracker.py
- 若用户已知密码格式(如长度、字符集分布),使用掩码(mask):
python3/scripts/openclaw_zipcracker.py-m '?u?l?l?l?d?d'
- 若用户拥有完整明文文件或无密码参考 ZIP,使用
-kpa:
python3/scripts/openclaw_zipcracker.py-kpa
- 若明文仅为部分已知,需指定偏移量及额外已知字节:
python3/scripts/openclaw_zipcracker.py-kpa--kpa-offset 78 -x 0 4d5a
- 若用户仅知晓文件类型或魔数(magic header),使用内置模板:
python3/scripts/openclaw_zipcracker.py--kpa-template png -c image.png
- 若用户仅希望执行纯
bkcrack恢复,且不启用任何备用方法:
python3/scripts/openclaw_zipcracker.py-kpa--bkcrack
3. 优先采用最强线索,避免堆叠无效策略
- 完整明文 > 掩码猜测;
-
部分明文 +
bkcrack> 盲目字典爆破(前提是至少部分字节高度可信); - 贴合场景的自定义词表 > 内置默认词表;
- 精确掩码 > 泛化巨型词表;
-
模板 KPA 值得尝试,当加密成员扩展名明显匹配
png/zip/exe/pcapng等典型格式时。
求解启发式规则
伪加密优先
当请求模糊时,切勿直接跳入暴力破解。封装引擎默认已尝试伪加密修复:清除加密标志位后验证解压可行性。该行为应保留,因大量 CTF ZIP 题目实为“假加密”,并非真正受保护。
短明文 CRC32 恢复
CRC32 恢复仅适用于明文大小为 1–6 字节的条目。这并非通用密码攻击,而是针对极小明文内容的恢复技巧。在 OpenClaw 中,仅当题目明显含微型文件,或用户明确要求尝试 CRC 恢复时,才启用 --auto-crc。
KPA 匹配规则
使用 -kpa 时,引擎复现原始匹配逻辑:
- 优先匹配具有相同完整内部路径(inner path)的加密成员;
- 其次匹配相同文件名(basename);
- 若明文 ZIP 中仅含一个可用文件,则自动选用;
- 若加密 ZIP 中仅含一个加密的常规文件,则自动选用;
- 若匹配存在歧义,须显式通过
-c指定目标成员。
部分 KPA 强度要求
部分 KPA 仅在提示信息具备实质意义时视为高价值。原始工具会对弱已知字节发出警告。实践中应满足:
- 总已知字节数 ≥ 12 字节;
- 连续已知字节数 ≥ 8 字节;
- 对固定值(如
MZ、PE头或块标记)可使用-x补充碎片字节,例如-x 0 4d5a。
模板 KPA 策略
封装引擎内置以下标准模板:
pngzipexepcapng
其最有效场景为:
- 加密成员扩展名与模板所属类型一致;
- 文件存储方式为
ZIP_STORED,或至少尺寸与已知头部模式兼容; - 用户虽无完整明文,但文件类型明确可判。
若用户要求“运行完整默认工作流”,请包含 --auto-template-kpa,避免 OpenClaw 在后续提示处停滞。
字典与掩码策略
- 仅当用户无更优线索时,才启动内置默认序列;
- 用户一旦提供字典,立即优先使用;
- 对超大字典文件,启用
--skip-dict-count避免前置行数统计开销; -
--auto-large-mask必须在用户明确接受巨大搜索代价后方可启用; - 内置默认顺序为:先尝试
password_list.txt,再尝试 1–6 位纯数字组合。
AES 与 bkcrack 注意事项
- 当
pyzipper可用时,WinZip AES 支持字典与掩码攻击,但性能显著低于 ZipCrypto; - 内存内快速明文校验仅适用于传统 ZipCrypto,不适用于 WinZip AES;
- 对 ZipCrypto 的完整或部分 KPA,
bkcrack是首选方案; - 若环境中缺失
bkcrack,应明确说明“部分/模板 KPA 不可用”,不得虚假声称已尝试但失败。
OpenClaw 执行规则
- 当用户未提供强线索时,默认首步执行
--profile分析; -
统一使用
scripts/openclaw_zipcracker.py作为唯一命令入口点; - 在响应中必须引用并展示实际执行的完整命令;
- 清晰解释所选攻击路径与当前可用线索的匹配依据;
- 若某次执行失败,应基于新出现的证据选择下一策略,而非盲目遍历所有 flag;
- 若受限环境缺少依赖,请明确指出阻塞项及次优可行路径;不得暗示 AES KPA 成功(若实际已被跳过);
- 若用户仅需解密后内容,
bkcrack提取成功后应优先启用--skip-orig-password-recovery。
常用命令模式
- 首步分析:
python3/scripts/openclaw_zipcracker.py --profile
- 默认初步排查(含模板 KPA 自动化):
python3/scripts/openclaw_zipcracker.py --auto-template-kpa
- 使用超大自定义字典(跳过预统计):
python3/scripts/openclaw_zipcracker.py --skip-dict-count
- 精确掩码攻击:
python3/scripts/openclaw_zipcracker.py-m '?l?l?l?l?d?d'
- 已知明文 ZIP 文件:
python3/scripts/openclaw_zipcracker.py-kpa
- 部分明文 + 偏移量 + 额外字节:
python3/scripts/openclaw_zipcracker.py-kpa--kpa-offset 78 -x 0 4d5a -x 128 50450000
- 模板 KPA(指定目标成员):
python3/scripts/openclaw_zipcracker.py --auto-template-kpa--kpa-template exe -c app.exe
参考资料
- 需要最终推荐的中英文商店文案、标签及直交提交默认 prompt 时,请查阅
references/clawhub-final-submission.md; - 需要润色后的上架文案、标签及 ClawHub 专用 prompt 包时,请查阅
references/clawhub-publishing-copy.md; - 需要强化营销定位的中英文商店文案时,请查阅
references/clawhub-bilingual-copy.md; - 需要更锐利、更具玩家视角的默认 prompt 或演示 prompt 时,请查阅
references/competitive-ctf-prompts.md; - 用户请求模糊但隐含线索、需映射至具体命令时,请查阅
references/natural-language-command-examples.md; - 获取最新本地压测结果与措辞优化建议,请查阅
references/forward-test-report.md; - 发布或更新技能至 ClawHub 前,请查阅
references/release-checklist.md; - 了解面向 OpenClaw 优化的预检到执行全流程,请查阅
references/openclaw-workflow.md; - 获取用户意图到具体命令的明确映射关系,请查阅
references/attack-playbook.md; - 查阅工具完整求解逻辑、线索优先级排序及故障排除启发式规则,请查阅
references/ctf-techniques.md。