注意点
确保你的哈希值是正确的,没有被截断或修改。
确保你选择了正确的哈希类型,即使用 -m 13000 选项指定 RAR5 格式。
如果你的哈希值中包含了特殊字符,可以尝试用引号将其括起来,例如:
hashcat -m 13000 -a 3 "$rar5$16$5c120b166d5c2bbc5f3752d81fad6194$15$c1c6ac1c75513d6519b446be8a6ffa9c$8$b216899ca1cff5ab" -o ps.txt
如果你的哈希值中包含了 $ 符号,可以尝试用反斜杠进行转义,例如:
hashcat -m 13000 -a 3 \$rar5\$16\$5c120b166d5c2bbc5f3752d81fad6194\$15\$c1c6ac1c75513d6519b446be8a6ffa9c\$8\$b216899ca1cff5ab -o ps.txt
如果你有一个密码本,你可以使用 -a 0 参数来告诉 hashcat 使用字典攻击模式,并使用 -w 3 参数来指定单词分隔符。例如,如果你的密码本位于 /path/to/wordlist.txt,可以使用以下命令来加载密码本:
hashcat -m 13000 -a 0 -w 3 $rar5$16$5c120b166d5c2bbc5f3752d81fad6194$15$c1c6ac1c75513d6519b446be8a6ffa9c$8$b216899ca1cff5ab /path/to/wordlist.txt -o ps.txt
其中,-m 13000 表示使用 RAR5 hash 类型进行破解,-a 0 表示使用字典攻击模式,-w 3 表示单词分隔符为 $。/path/to/wordlist.txt 是你的密码本文件的路径,-o ps.txt 表示将破解后的密码输出到 ps.txt 文件中。
需要注意的是,密码本文件应该是一个文本文件,每行包含一个密码或短语。密码本文件的位置可以是任何你喜欢的地方,只要你在命令中正确指定了它的路径即可。
以下为我的一个破解示例
首先,获取我要破解的压缩文件的哈希值,如下图所示:

由于一开始一度以为$RAR3$的哈希名称为“RAR3-hp (12500 mode)”(实际为:RAR3-p(Compressed) (23800 mode)),所以一直出错“Signature unmatched”, 同时获取的哈希值应该不包含中文,所以根据上图中我的哈希值为不包含中文部分且要去除掉末尾的“:1::CMT”,也不包含“abc.rar:”,我把正确的哈希值保存到文本文件"hash.txt"中,并且将此文件置于hashcat目录下,在linux下运行如下命令:
hashcat -m 23800 -a 3 hash.txt -o ps.txt --increment --increment-min 3 --increment-max 8 ?a?a?a?a?a?a?a?a
破解的密码将保存到ps.txt下,同时我设定的密码位数为3~8位的任意数字组合,于是就有了下面的运行效果图:

成功运行。