新手最好用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()
最后效果:
破解成功!