Python大佬簡簡單單利用字典破解zip文件口令

2021-02-23 Python學習交流樂園

前幾天在一本書上看到一篇可以利用字典破解zip文件密碼的文章,覺得比較有意思於是研究了一番,在這裡分享一下

很多人學習python,不知道從何學起。

很多人學習python,掌握了基本語法過後,不知道在哪裡尋找案例上手。

很多已經做案例的人,卻不知道如何去學習更加高深的知識。

那麼針對這三類人,我給大家提供一個好的學習平臺,免費領取視頻教程,電子書籍,以及課程的原始碼!

QQ群:101677771

原理

主要是利用python裡自帶的zipfile庫中的extractall函數來實現的,簡單導入zipfile之後,實例化一個ZipFile類。利用extractall()來解壓這個文件,並在參數pwd上填入正確密碼

這時我們發現執行腳本之後,fate.zip會被正確解壓,而填入錯誤密碼則會入下圖一樣報錯
因此我們可以利用因口令不正確而拋出的異常來測試字典文件中是否有zip文件的密碼,並利用try expect來處理異常信息。

代碼

假定zip文件密碼為fate,pwd.txt為字典文件

import zipfile
zFile = zipfile.ZipFile(r"D:\python\fate.zip")
passFile = open(r"D:\python\pwd.txt")
for line in passFile.readlines():
password = line.strip('\n')
# noinspection PyBroadException
try:
zFile.extractall(pwd=password.encode("utf=8"))
print("password="+password)
except Exception as e:
pass

需要注意的是python3以及不支持自動ascii碼了,在extractall的pwd參數後需手動添加編碼類型,# noinspection PyBroadException則是為了防止PyCharm報錯

提高性能

將程序模塊化後,在利用多線程處理可以提高程序性能,可以利用Thread來實現多線程處理

import zipfile
from threading import Thread


def extractfile(zFile,password):
# noinspection PyBroadException
try:
zFile.extractall(pwd=password.encode("utf=8"))
print("password="+password)
except Exception as e:
pass


def main():
zFile = zipfile.ZipFile(r"D:\python\fate.zip")
passFile = open(r"D:\python\pwd.txt")
for line in passFile.readlines():
password = line.strip('\n')
t = Thread(target=extractfile(zFile , password))
t.start()


if __name__ == "__main__":
main()

利用if __name__ == "__main__"使函數只在當前模塊運行,當被導入時不運行

相關焦點

  • 最詳細Python批量字典暴力破解zip密碼
    ¤QQ群:828010317苦於工具破解太慢,一個壓縮包要好久,解壓了三個之後就放棄了,準備另尋他法密碼字典巧的是破解的三個都是4位數字密碼,這讓我想到了依靠字典破解說幹就幹,伸手就來#生成從0000到9999的密碼錶f = open('passdict4.txt','w')for id
  • python小課堂17 - 30行代碼破解加密ZIP文件
    廢話不多說,今天就來演示下如何手寫一段python程序來實現暴力破解壓縮文件的密碼!重點在於編程的思路!聲明:本章內容僅供學習記錄使用,請勿用於商業以及非法用途!暴力破解的實現思路利用python內置模塊zipfile來實現破解文件,zipfile模塊有一種函數,其可以實現將壓縮文件路徑傳入,通過函數返回值去調用提取文件的方法,若文件是加密的且密碼傳入的不正確,程序則會發生異常(也就是程序報錯
  • 今天破解了壓縮文件的密碼:使用python輕鬆編寫破解程序
    獲取ZIP文件解壓密碼今天傑瑞又閒著無事可幹,索性去做了一個非常簡單且實用的一個python小程序,這個程序破解獲得zip加密文件的密碼。獲取zip文件解壓密碼的思路是使用窮舉法去「試」出真實密碼。傑瑞今天就教大家如何使用python去破解得到zip文件的解壓密碼,僅需要不到20行代碼即可完成全部功能。實現步驟首先我們需要python裡面的一個庫——zipfile,這個庫專門用來操作zip文件的,這個庫一般是python自帶的不需要安裝。
  • Python黑客入門:暴力破解zip,零基礎也可以學會!
    在python中操作zip文件,最簡單的方式就是使用zipfile模塊,使用該模塊可以用來判斷一個文件是否是壓縮文件,創建、解壓文件,獲取zip文件的元數據信息。可以使用python的help方法查看該模塊的使用方法。
  • rar 或 zip 壓縮文件忘記密碼了 改如何破解?
    因為壓縮速度快捷,壓縮後的文件體積小。因此這款也受到了很多人的青睞。一般比較常見的文件壓縮格式有 rar 以及 zip。當然其他的文件壓縮格式還有很多,只是沒有這倆種壓縮格式出現的平凡。你是否想過破解加密的壓縮文件?在現實生活中,很多人習慣把一些比較隱私的文件進行壓縮,並且給壓縮文件加密。
  • 針對口令的暴力破解攻擊方式
    回到破解口令的難題,那些可能把破解所有口令作為畢生目標的黑客們經過不斷努力後發現,單純利用時間換空間(直接窮舉計算)或者空間換時間(存儲所有的摘要)都是走不通的。那如果把兩者結合起來呢,也就是說既消耗一部分時間也消耗一部分空間,達到兩者的某種平衡,是不是就會讓破解的難度大大降低呢?在此背景下,彩虹表這一暴力破解口令的利器就誕生了。
  • winRAR 7ZIP壓縮包密碼瞬間暴力破解工具
    首先在「ZIP password-encrypted file」翻開被加密的ZIP緊縮文件包,能夠運用閱讀按鈕或許功用鍵F3來挑選即將解密的緊縮文件包;在「Type of attack」中挑選進犯方式:包含「Brute-force」(強力進犯)、「mask」(掩碼查找)、「Dictionary」(字典進犯)等;在「Brute-force range options」設定強力進犯法的查找規模
  • Python zip函數及用法
    zip() 函數是 Python 內置函數之一,它可以將多個序列(列表、元組、字典、集合、字符串以及 range() 區間構成的列表)「壓縮」成一個
  • 一文看懂Python列表表達式及高階函數如lamda, zip, enumerate, map和filter方法.
    正是它們給了python優秀的特性,從而使python有別於其它程式語言。網上的介紹和教程有很多,但感覺還是比較零散,解讀也不夠深入,小編決定再次動手寫篇總結。如果大家還沒讀過小編寫的一文看懂python系列文章,請先閱讀一文看懂Python面向對象編程(Python學習與新手入門必看)-絕對原創和一文看懂Python對文件和文件夾的操作: 含os, shutil和glob模塊。
  • Python 中最快解壓 zip 文件的方法 | Linux 中國
    假設現在的上下文(LCTT 譯註:context,計算機術語,此處意為業務情景)是這樣的:一個 zip 文件被上傳到一個Web 服務[1]中,然後 Python 需要解壓這個 zip 文件然後分析和處理其中的每個文件。
  • 【python速查系列】字典系列使用速查--創建字典
    直接創建字典這個是最直接的方法,就是在變量定義的時候,直接通過標識符{}來定義字典。
  • 利用python開發的勒索病毒——hc6
    利用python開發的勒索病毒——hc6 2018-10-24    威脅等級:★★hc6勒索病毒使用對稱加密算法,是黑客利用弱口令掃描網際網路中機器導致電腦中毒的。
  • Python創建字典的3種方法
    >#用**kwargs可變參數傳入關鍵字創建字典a = dict(one=1,two=2,three=3) print(a)#傳入可迭代對象b = dict(zip(['one','two','three'],[1,2,3]))print(list(zip(['one','two','three'],[1,2,3])))print(b)
  • 網絡安全工程師教你:如何使用Kali Linux獲取ZIP壓縮包密碼?
    工具簡介:Fcrackzip是一款專門破解zip類型壓縮文件密碼的工具,工具小巧方便、破解速度快,能使用字典和指定字符集破解,適用於linux、mac osx 系統。2.2 首先我們在主目錄下創建一個名為test的文件。2.3 現在我們使用命令zip --password 12345 test.zip test 將test文件壓縮為格式為zip的壓縮文件,密碼為 password 壓縮文件名為 test.zip。
  • Python數據類型之字典dict
    # 字典是一種可變容器類型,可存儲任意類型對象# 字典以鍵值對存儲數據,key-value形式,鍵值之間使用冒號:分隔,每個鍵值中間用逗號,分隔# 字典包含在大括號,花括號{}中# python中鍵必須是不可變的,但值可取任何數據類型# 元組可以作為 dict 的 key,但列表不能作為元組的 key,dict 要求
  • 我破解了鄰居家的wifi密碼:只需要一臺筆記本電腦
    今天閒著無聊做了一個小程序,現在就給大家分享一下製作過程,該程序可以使用你預先設置好的密碼字典去破解wifi密碼,實現方法很簡單,就是用窮舉法去嘗試字典裡面的每一個密碼,直至找到正確密碼為止。那麼這個過程如何用程序來實現呢?別急,傑瑞現在來教你實現!
  • 每周一課 | Python 示例拆分字符串入到字典裡面
    很少有Python示例向您展示如何將字符串拆分為字典。
  • Python中的zip方法
    軟硬體環境anaconda3 with python 3.7簡介zip()是python中的一個內置函數,它接受一系列可迭代對象作為參數,將不同對象中相對應的元素(根據索引)打包成一個元組tuple,返回一個zip對象,可以通過list將zip對象轉化為list對象。
  • python中字典dict的操作技巧匯總
    字典是使用最為廣泛的數據結構了,從結構來看,其內容就是鍵值對,鍵稱為key, 值稱為value, 類似詞典中通過前面的索引來快速查找後面的頁面,通過key可以快速定位對應的值。字典,是python中對這種結構的命名,在其他語言中有其他的名字,比如perl中稱之為哈希。
  • Python中__init__.py文件的作用詳解
    import sys>>> print(sys.path)['', '/usr/local/lib/python3.4','/usr/local/lib/python3.4/plat-sunos5','/usr/local/lib/python3.4/lib-tk','/usr/local/lib/python3.4/lib-dynload