python暴力破解RAR加密文件

如果可以直接在命令行中运行winrar,那么说不定就能直接用暴力破解rar加密文件了(同理可以破解pdf加密文件)。

方法如下:

因为是命令行调用,需要把winrar先添加到环境变量里面,这样就能直接在cmd的命令行中调用winrar了。方法与把python加入环境变量相同。
 005200hz225ihuqqo46bbj.png
如果在命令行执行winrar,如上图,没有报错,还能call出winrar的话,说明你已经把winrar添加入环境变量中了。
接着往下:
winrar 的命令“e”是解压缩,参数“-y”是假设全部的询问回应皆为“是”,参数 -P<密码> 为在加密和解密时设置密码
WinRAR 在成功操作的情况下以 0 代码退出。非零退出代码表示下列错误:
代码值         描述 
0                 成功操作。 
1                 警告。发生非致命错误。 
2                 发生致命错误。 
3                 无效校验和。数据损坏。 
4                 尝试修改一个 锁定的压缩文件。  
5                 写错误。 
6                 文件打开错误。 
7                 错误命令行选项。 
8                 内存不足。 
9                 文件创建错误。 
10                 没有找到与指定的掩码和选项匹配的文件。 
11                 密码错误。 
255                 用户中断。 

先假设,自己创建一个rar的加密文件,密码设置123。在同目录下创建字典文件dic.txt,字典格式为每一行一个测试密码。

python代码如下,也放到同一个目录下:


import os
f=open('dic.txt')
s=f.readlines()
f.close()
for p in s:
    cmd = "winrar e new.rar -y -p%s" % (p)
    r = os.system(cmd)
    if r == 0:
        print("pass = %s" % p)
        break
input()        #这句可以不用写,我是为了双击打开时,最后破解完毕不会直接关闭窗口。





运行代码:

005200hz225ihuqqo46bbj.png
python的运算速度是很快的,破解速度的快慢完全取决于字典设置的好坏。


发表评论 / Comment

用心评论~