最詳細Python批量字典暴力破解zip密碼

2021-02-14 Python學習交流樂園
工具破解

前兩天在網上下來了一波項目案例,結果全是加密的壓縮包,於是去網上找了一個壓縮包破解的工具

很多人學習python,不知道從何學起。
很多人學習python,掌握了基本語法過後,不知道在哪裡尋找案例上手。
很多已經做案例的人,卻不知道如何去學習更加高深的知識。
那麼針對這三類人,我給大家提供一個好的學習平臺,免費領取視頻教程,電子書籍,以及課程的原始碼!??¤
QQ群:828010317

苦於工具破解太慢,一個壓縮包要好久,解壓了三個之後就放棄了,準備另尋他法

密碼字典

巧的是破解的三個都是4位數字密碼,這讓我想到了依靠字典破解

說幹就幹,伸手就來

#生成從0000到9999的密碼錶
f = open('passdict4.txt','w')
for id in range(10000):
password = str(id).zfill(4)+'\n'
f.write(password)
f.close()

果然猜想沒錯,破解速度的確快了不

習大大說, 科技是第一生產力,創新是引領發展的第一動力

既然有更快速的方法,那為什麼不研究個自動的方法出來呢

ZipFile庫

Python有個叫ZipFile的庫可以解壓zip文件,從其相關文檔中

ZipFile.extractall(path=None, members=None, pwd=None)

將zip文檔內的指定文件解壓到當前目錄。

參數path指定了解析文件保存的文件夾

參數members指定要解壓的文件名稱或對應的ZipInfo對象

參數pwd為解壓密碼。

只需循環讀取文件夾下的zip文件然後逐個解壓即可

注意:python3有一個中文文件名亂碼的,將ZipFile.py中的「cp437」改成「gbk」(兩個地方需更改)即可永久解決

# zipfile打開zip文件
z = zipfile.ZipFile(f'{file_path}', 'r'
# path為解壓路徑,解包後位於該路徑下
z.extractall(path=f"{root})
z.close()

在這個基礎上再加上循環密碼字典

注意:由於解壓是密碼錯誤會產生異常,這裡可以利用try except進行處理

# 獲取字典中的內容
passFile = open(r"D:\python\passdict4.txt")
# 循環獲得單個密碼
for line in passFile.readlines():
# 去換行
password = line.strip('\n')
try:
zip_file.extractall(path=f"{root}", pwd=password.encode("utf-8"))
print(password)
# 密碼對了就不繼續下去了
break
except:
# 什麼都不做
pass
zip_file.close() # 關閉文件,必須有,釋放內存

這麼一通操作下來本以為大功告成,沒想到事情沒那麼簡單

大多是時候是可以破解的,但是總有些就破解失敗了,束手無策的各個網站找方法

剛開始以為是extractall方法調用錯了,但是報的錯是密碼錯誤,這就讓我很迷

偶然見在一個看到一篇文章才得知

默認情況下,WinRAR在CTR模式下使用AES-256加密ZIP文件,而傳統加密是通過CRC32加密,即ZIP 2.0傳統加密算法,雖然AES-256比ZIP 2.0傳統加密算法安全得多,但它可能與一些舊的解壓軟兼容,而Python標準庫中的zipfile模塊只支持CRC32加密的zip文件,所以不採用傳統加密方式是無法通過zipfile庫進行解壓的

已經花了這麼多心思,要是到這裡就放棄,那真的是太淦了

既然加密方式不一樣,那麼解壓軟體是怎麼做到直接解壓的呢

這裡產生了一個構想,要是能從代碼裡調用解壓軟體,那不就好辦了嗎

於是我趕緊使用絕技

成功搜索到,7z等多款解壓軟體有相關功能

調用第三方軟體命令行

配置環境變量

命令行驗證一下

奈斯,配置成功

passFile = open(r"D:\python\passdict4.txt")
for line in passFile.readlines():
password = line.strip('\n')
# t 測試
command='7z -p'+password+' t '+file_path
child=subprocess.call(command)
if(child==0):
print(password)
break

加密方式不一樣的事情是解決了,不過人的貪慾真的是可怕

重複調用命令行這一閃一閃的又讓我不爽了

pyzipper庫(終極)

恰巧在查加密方式的時候看到有人提出

Python有個pyzipper庫可以很好的兼容代替zipfile,可以讀寫AES加密的zip文件

都走到這了,沒有撤退可言

安裝pyzipper

pip install pyzipper

會出現中文名亂碼情況,記得改下

f1 = open('D:\python\passdict4.txt','r')
with pyzipper.AESZipFile(file_path,'r') as f:
for i in f1:
i = i.rstrip('\n')
f.pwd = str.encode(i)
try:
f.extractall(path=f"{root}")
print(file_path+"\t密碼是:"+i)
break
except Exception:
pass
f.close()
f1.close()

這個方法,堪稱完美

相關焦點

  • Python大佬簡簡單單利用字典破解zip文件口令
    前幾天在一本書上看到一篇可以利用字典破解zip文件密碼的文章,覺得比較有意思於是研究了一番,在這裡分享一下很多人學習
  • Python黑客入門:暴力破解zip,零基礎也可以學會!
    在/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。在python中操作zip文件,最簡單的方式就是使用zipfile模塊,使用該模塊可以用來判斷一個文件是否是壓縮文件,創建、解壓文件,獲取zip文件的元數據信息。可以使用python的help方法查看該模塊的使用方法。
  • python小課堂17 - 30行代碼破解加密ZIP文件
    廢話不多說,今天就來演示下如何手寫一段python程序來實現暴力破解壓縮文件的密碼!重點在於編程的思路!聲明:本章內容僅供學習記錄使用,請勿用於商業以及非法用途!暴力破解的實現思路利用python內置模塊zipfile來實現破解文件,zipfile模塊有一種函數,其可以實現將壓縮文件路徑傳入,通過函數返回值去調用提取文件的方法,若文件是加密的且密碼傳入的不正確,程序則會發生異常(也就是程序報錯
  • 今天破解了壓縮文件的密碼:使用python輕鬆編寫破解程序
    獲取ZIP文件解壓密碼今天傑瑞又閒著無事可幹,索性去做了一個非常簡單且實用的一個python小程序,這個程序破解獲得zip加密文件的密碼。獲取zip文件解壓密碼的思路是使用窮舉法去「試」出真實密碼。傑瑞今天就教大家如何使用python去破解得到zip文件的解壓密碼,僅需要不到20行代碼即可完成全部功能。實現步驟首先我們需要python裡面的一個庫——zipfile,這個庫專門用來操作zip文件的,這個庫一般是python自帶的不需要安裝。
  • rar 或 zip 壓縮文件忘記密碼了 改如何破解?
    一般比較常見的文件壓縮格式有 rar 以及 zip。當然其他的文件壓縮格式還有很多,只是沒有這倆種壓縮格式出現的平凡。你是否想過破解加密的壓縮文件?在現實生活中,很多人習慣把一些比較隱私的文件進行壓縮,並且給壓縮文件加密。但是因為某些原因,或者是過了一段時間後,在想來打開這個加密的壓縮文件。你會尷尬的發現你把壓縮文件的密碼忘記啦!
  • winRAR 7ZIP壓縮包密碼瞬間暴力破解工具
    在設置winrar密碼或winzip壓縮包密碼的過程中,時間長了之後也容易忘記了密碼,避免不了接觸rar密碼破解工具。怎麼破解壓縮文件密碼破解呢?可是到黑客手裡也就變成了一個破解的東西,其詳細運用辦法與「Advanced ZIP Password Recovery」大致一樣,這裡不多分析了。 3. 留神「多功用暗碼破解軟體」作祟   此外,當前還有一款名為「多功用暗碼破解軟體」的東西值得咱們注重,也是黑客常常運用的。
  • 網絡安全工程師教你:如何使用Kali Linux獲取ZIP壓縮包密碼?
    工具簡介:Fcrackzip是一款專門破解zip類型壓縮文件密碼的工具,工具小巧方便、破解速度快,能使用字典和指定字符集破解,適用於linux、mac osx 系統。2.3 現在我們使用命令zip --password 12345 test.zip test 將test文件壓縮為格式為zip的壓縮文件,密碼為 password 壓縮文件名為 test.zip。2.4 現在我們先嘗試使用暴力破解對這個zip文件進行破解。
  • RAR/ZIP密碼可以被破解嗎?需要多長時間?
    在下曾破解過兩個,且都成功了。第二個問題:需要多長時間?RAR/ZIP密碼破解有兩種方法:暴力破解、字典破解。暴力破解的話,如果是8位以上複雜密碼(帶帶有數字、字母、特殊符號),理論時間大約得好幾個月,甚至更久,常用軟體如:Advanced RAR Password Recovery。因為耗時太久,所以,暴力破解常常有點不現實。只是理論可行。如果想嘗試的話,那就試一下好了。
  • TPLink路由器登陸密碼怎麼破解
    TPLink路由器登陸密碼忘記了怎麼辦?由於路由器設置通常只是偶爾進行,因此時間長了可能就忘記了路由器登陸密碼。當路由器登陸密碼忘記後,我們可以採用暴力破解登陸路由器,也可以通過恢復路由器出廠設置來清除登陸密碼。以下小編就為大家分享一下具體破解TPLink路由器登陸密碼的方法。
  • 教你暴力破解WIFI密碼!
    攻擊原理是:先讓設備掉線,設備會再自動連接,並發這個自動連接過程會進行三次握手,會發送tcp包(裡面包含加密的密碼數據),我方偽裝成WiFi熱點去竊取該數據包。我方竊取後即可用字典窮舉法暴力破解加密的WiFi密碼,數據包裡面的密碼是哈希加密的,哈希加密只能正向)出現WPA handshake時,表示抓包成功兩個終端都按Ctrl+c停止,不然那邊會一直斷網的cd打開抓包的目錄,ls列出來,就看到我們抓到的數據包
  • 用顯卡算密碼:有意思的「暴力」密碼破解工具
    用顯卡算密碼:有意思的「暴力」密碼破解工具,確實是個挺搞笑的黑客工具    ElcomSoft Distributed Password Recovery 俄羅斯著名的ElcomSoft出品的密碼破解工具,這家公司是專業開發密碼恢復工具的,ElcomSoft Distributed Password
  • Python zip函數及用法
    zip() 函數是 Python 內置函數之一,它可以將多個序列(列表、元組、字典、集合、字符串以及 range() 區間構成的列表)「壓縮」成一個
  • 常用的攻擊手段 弱密碼
    (1) Hydra黑客組織thc開源的一款暴力破解密碼的工具,支持:AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, uHTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET
  • 黑客是如何破解常見文件密碼
    該軟體提供「暴力」和「字典」兩種破解方式,若時間足夠再加上策略得當,完全可以破解指定文檔的密碼。1、製作密碼字典文件使用AOPR破解Office文檔密碼前,需要使用專門的工具製作字典文件,便於快速破解。
  • python中字典中的賦值技巧,update批量更新、比較setdefault方法與...
    本節知識視頻下面開始文字解說:一、Setdefault方法用處:保護了字典原來數據的情況下進行賦值。只在原字典中的鍵不存在的情況下,才會對字典新增一個鍵值對。如果原字典存在著某個鍵的情況下,那麼新的數據將不會被更新到原字典中,這樣有效保護了原字典的數據不受改變,只會新增。
  • 【python速查系列】字典系列使用速查--創建字典
    直接創建字典這個是最直接的方法,就是在變量定義的時候,直接通過標識符{}來定義字典。
  • 一文看懂Python列表表達式及高階函數如lamda, zip, enumerate, map和filter方法.
    <lambda> at 0x03ADE2B8>>>> flist[0](2)4zip函數zip()函數來可以把2個或多個列表合併,並創建一個元組對的列表。元組對的數量以合併列表的最短長度為準。
  • 一力降十會,談暴力破解攻擊
    引言只要有足夠的時間,理論上任何密碼都可以通過暴力破解而破解出來。正如阿基米德所說:給我足夠的時間,我能破解整個地球。★暴力破解又叫蠻力攻擊、窮舉攻擊,是一種密碼分析的方法,將密碼逐個推算直至找到真正的密碼位置。
  • 加密excel文檔怎麼破解密碼?Office密碼破解工具使用教程
    步驟三 Advanced Office Password Recovery會自動運行「準備攻擊」,完整的準備攻擊包含四個破解過程:檢查找到的密碼、檢查密碼緩存、默認字典攻擊、暴力攻擊,軟體會依次進行這四個步驟,普通Excel密碼均可以在該步驟被破解,破解成功(顯示該Excel打開密碼為199079)的對話框如下圖所示:  步驟四 如果
  • 我破解了鄰居家的wifi密碼:只需要一臺筆記本電腦
    今天閒著無聊做了一個小程序,現在就給大家分享一下製作過程,該程序可以使用你預先設置好的密碼字典去破解wifi密碼,實現方法很簡單,就是用窮舉法去嘗試字典裡面的每一個密碼,直至找到正確密碼為止。那麼這個過程如何用程序來實現呢?別急,傑瑞現在來教你實現!