人生苦短我用Python——破解自己遗忘的压缩文件密码

新手最好用python.org原装的IDLE编译器,而不是一开始就上手更先进的anaconda 或者charm。通过手工输入编码,能够对python的缩进和转行的写法得优越性产生更深的体会,当然除了首行符合正则表达式的一段声明。

"coding[:=]\s*([-\w.]+)"

#coding=utf-8

#coding:utf-8

#-*- coding:utf-8 -*-

言归正传,破解rar压缩文件目前只有暴力破解一种办法,破解模块的基本思路就是通过导入rarfile模块,用try…except 捕捉异常。在Windows下rarfile模块表现不如Linux的好,跨平台性不如python原装的zipfile,Windows下通常还需要另行下载一个unzip.exe,不过可以从rar文件目录中拷贝到python的环境变量中。

测试文件为D盘中的一个rar压缩包,已知密码为: 3456,字典文件为包含了这个密码段的文本文件,通过readlines逐行读取密码段,这里注意读取的密码段里含有‘\n’转义符。代码如下:

# -*- coding:-*-

import rarfile

dictfile  = open(r'D:\dict.txt',mode = 'r')

rarfile = rarfile.RarFile(r'D:\code3456.rar')

for code in dictfile:

try:

rarfile.extractall(path = 'd:/',pwd = '%s'%code.split('\n')[0])

print("The code is:%s"%code.split('\n')[0])

except :

pass

finally:

rarfile.close()

最后效果:


破解成功!

你可能感兴趣的:(人生苦短我用Python——破解自己遗忘的压缩文件密码)