新手最好用python.org原裝的IDLE編譯器,而不是一開始就上手更先進(jìn)的anaconda 或者charm。通過手工輸入編碼,能夠?qū)ython的縮進(jìn)和轉(zhuǎn)行的寫法得優(yōu)越性產(chǎn)生更深的體會,當(dāng)然除了首行符合正則表達(dá)式的一段聲明。
"coding[:=]\s*([-\w.]+)"
#coding=utf-8
#coding:utf-8
#-*- coding:utf-8 -*-
言歸正傳,破解rar壓縮文件目前只有暴力破解一種辦法,破解模塊的基本思路就是通過導(dǎo)入rarfile模塊,用try…except 捕捉異常。在Windows下rarfile模塊表現(xiàn)不如Linux的好,跨平臺性不如python原裝的zipfile,Windows下通常還需要另行下載一個(gè)unzip.exe,不過可以從rar文件目錄中拷貝到python的環(huán)境變量中。
測試文件為D盤中的一個(gè)rar壓縮包,已知密碼為: 3456,字典文件為包含了這個(gè)密碼段的文本文件,通過readlines逐行讀取密碼段,這里注意讀取的密碼段里含有‘\n’轉(zhuǎ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()
最后效果:

破解成功!