工作原理
John the Ripper 通过以下指令原生支持 Hashcat 规则语法 !! hashcat logic ON 指令。此工具将你的 Hashcat 规则包装在有效的 John 配置部分中,以便你直接在 John 命令中使用。
- 1. 粘贴你的 Hashcat 规则: 每行一条规则,与 Hashcat .rule 文件中的格式完全一致(例如
l $1 so0). - 2. 设置规则集名称: 用于配置部分头和
--rules运行 John 时的参数标志。 - 3. 下载 .conf 文件: 工具将规则包装为所需的 John 格式并生成可直接使用的配置。
- 4. 运行 John: 通过以下方式传递 .conf 文件
--config以及规则集名称使用--rules。John 在哈希之前将每条 Hashcat 规则应用于字典中的每个条目。
生成的 .conf 结构
[List.Rules:yourRulesetName] !! hashcat logic ON <your hashcat rules> !! hashcat logic OFF
常用 Hashcat 规则函数
任何有效的 Hashcat 规则函数都会原样传递——转换器只做包装,不做修改。常见示例:
| 规则 | 效果 |
|---|---|
| : | 空操作:原样传递单词 |
| l | 所有字符转为小写 |
| u | 所有字符转为大写 |
| c | 首字母大写,其余小写 |
| r | 反转单词 |
| $X | 在末尾追加字符 X |
| ^X | 在开头添加字符 X |
| sXY | 将所有 X 替换为 Y |
| d | 复制单词 |
| t | 切换所有字符的大小写 |
常见问题
为什么不直接用 John 内置的规则语法?
Hashcat 规则的共享范围更广。像 OneRuleToRuleThemAll、d3adhob0 和 best64.rule 这类泄露的规则集都是 Hashcat 格式。此转换器让你无需手动重写每条规则即可在 John 中使用它们。
支持所有 Hashcat 规则吗?
John 的 hashcat logic 模式支持绝大多数 Hashcat 规则函数。少数 Hashcat 专有的高级函数(如复杂的内存规则)可能无法执行。John 会跳过无法识别的函数而不是报错。
我的规则集会存储在服务器上吗?
不会。提交时规则在内存中处理并立即丢弃。不会记录或存储任何内容。
我可以链接多条规则吗?
可以。每一行都是独立的规则链,应用于词表中的每个条目。John 处理该节中的所有规则,为每个单词的每条规则生成一个输出候选。