這個也就是提供一個思路,需求是這樣的,我XX的閨蜜有個rar的壓縮包,不知道他是從哪裡掙來的,說這個對他比較重要,但是有密碼打不開,唉,可憐了我的電腦了
因為這個是暴力破解,是把所有的密碼進行的遍曆,也就是從1到。。。。無窮的列舉出來,然後按個密碼去撞,撞開了就開了,建議大家買個雲服務器進行破解哈,因像這種的第一,不知道密碼是幾位的,第二還有特殊符号的,唉,破解時間太長了,就用8位密碼來說吧,全部8位測試完密碼也得5個小時,筆記本那是嗡嗡的,為了自己的電腦,還不如掏個錢買個雲服務器讓他自己跑着測密碼去,一小時也才2元錢,最低配置的哈。。。。
先看效果圖私信小編01即可獲取大量python學習資源
别看這個1234密碼簡單,但是對于程序來說這個也是從1111然後1112然後1113一次類推,暴力到的1234
直接上Python源碼結束語
import itertools as its ##這個庫,python自帶的 import rarFile #這個是操作rar壓縮包的,如果你需要破解别的密碼的話,比如pdf,那麼請你安裝下pdf的第三方庫 ### 這個根據需要來,這邊測試的是破解rar壓縮包 path1 = "E:\\python2\\rar\\1.rar" # 需要解壓的文件路徑及地址 path2 = "E:\\python2\\rar" # 需要解壓到的文件夾地址 ##下面的是你的密碼可能用的字符# words = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'( )* ,-./:;<=>?@[]^_`{|}~" ##密碼裡面含有大小寫字母,數字以及特殊符号 re=4 ##這個是與下面的repeat相對應的,代表你需要生成幾位的數組。這裡是4,代表生成4位的數組。 while 2>1: r = its.product(words,repeat=re) for i in r: # print(type(i)) a ="".join(i) ##通過.join将數組裡面的元素轉換成字符串 print("當前測試密碼:",a) ###嘗試測試密碼,如果錯誤continue,進入下一次循環 try: rf = rarfile.RarFile(path1) # pwd為解壓密碼 rf.extractall(path=path2, pwd=a) print('密碼破解成功:',a) exit(0) except Exception as e: print(e) continue else: re =1 ###如果将所有的4位字符組合嘗試完成後,還是沒有破解到密碼,那麼會将4再加上1,進行5位數的破解(這裡沒有具體寫出,為了代碼的整潔,沒有寫出如何循環到5位數密碼)
密碼都可以破解成功的,隻是時間的問題,如果是9位數的話估計的好幾天了,所以說,如果知道點密碼的詳情也好,那怕知道是幾位數的密碼,等也讓咱等的值得比如我這個,我習慣性的把密碼從6位開始破解了,一直破解到8位還是沒破解開,人家的密碼設置成了5位數,你說氣人不
,