'Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料'

Python 黑客 Line 腳本語言 程序員丶檸檬 2019-08-28
"
"
Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

照顧沒有接觸過Python編程的同學,行文可能會有些囉嗦。

廢話少說,我們進入正題。

2.1準備基本材料

/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。

"
Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

照顧沒有接觸過Python編程的同學,行文可能會有些囉嗦。

廢話少說,我們進入正題。

2.1準備基本材料

/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

dict.txt文件是一個字典文件,簡單的配置了幾個密碼。

"
Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

照顧沒有接觸過Python編程的同學,行文可能會有些囉嗦。

廢話少說,我們進入正題。

2.1準備基本材料

/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

dict.txt文件是一個字典文件,簡單的配置了幾個密碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們打開開發工具,開始編寫測試代碼。

"
Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

照顧沒有接觸過Python編程的同學,行文可能會有些囉嗦。

廢話少說,我們進入正題。

2.1準備基本材料

/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

dict.txt文件是一個字典文件,簡單的配置了幾個密碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們打開開發工具,開始編寫測試代碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.2 ZIPFILE

在python中操作zip文件,最簡單的方式就是使用zipfile模塊,使用該模塊可以用來判斷一個文件是否是壓縮文件,創建、解壓文件,獲取zip文件的元數據信息。可以使用python的help方法查看該模塊的使用方法。

"
Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

照顧沒有接觸過Python編程的同學,行文可能會有些囉嗦。

廢話少說,我們進入正題。

2.1準備基本材料

/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

dict.txt文件是一個字典文件,簡單的配置了幾個密碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們打開開發工具,開始編寫測試代碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.2 ZIPFILE

在python中操作zip文件,最簡單的方式就是使用zipfile模塊,使用該模塊可以用來判斷一個文件是否是壓縮文件,創建、解壓文件,獲取zip文件的元數據信息。可以使用python的help方法查看該模塊的使用方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

"
Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

照顧沒有接觸過Python編程的同學,行文可能會有些囉嗦。

廢話少說,我們進入正題。

2.1準備基本材料

/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

dict.txt文件是一個字典文件,簡單的配置了幾個密碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們打開開發工具,開始編寫測試代碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.2 ZIPFILE

在python中操作zip文件,最簡單的方式就是使用zipfile模塊,使用該模塊可以用來判斷一個文件是否是壓縮文件,創建、解壓文件,獲取zip文件的元數據信息。可以使用python的help方法查看該模塊的使用方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

這裡我們首先關注下ZipFile類

"
Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

照顧沒有接觸過Python編程的同學,行文可能會有些囉嗦。

廢話少說,我們進入正題。

2.1準備基本材料

/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

dict.txt文件是一個字典文件,簡單的配置了幾個密碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們打開開發工具,開始編寫測試代碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.2 ZIPFILE

在python中操作zip文件,最簡單的方式就是使用zipfile模塊,使用該模塊可以用來判斷一個文件是否是壓縮文件,創建、解壓文件,獲取zip文件的元數據信息。可以使用python的help方法查看該模塊的使用方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

這裡我們首先關注下ZipFile類

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

該類用來打開,讀取,修改,解壓zip文件。我們想要操作一個zip文件,第一步就是初始化ZipFile實例。下面我們打開我們準備好的text.zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/TEST.ZIP");

我們只傳了一個路徑參數進去,從幫助文檔我們可以看到,後面三個參數都有默認值,這裡我們使用默認值就夠了。

下面我們關注下ZipFile類的extractall方法。

"
Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

照顧沒有接觸過Python編程的同學,行文可能會有些囉嗦。

廢話少說,我們進入正題。

2.1準備基本材料

/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

dict.txt文件是一個字典文件,簡單的配置了幾個密碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們打開開發工具,開始編寫測試代碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.2 ZIPFILE

在python中操作zip文件,最簡單的方式就是使用zipfile模塊,使用該模塊可以用來判斷一個文件是否是壓縮文件,創建、解壓文件,獲取zip文件的元數據信息。可以使用python的help方法查看該模塊的使用方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

這裡我們首先關注下ZipFile類

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

該類用來打開,讀取,修改,解壓zip文件。我們想要操作一個zip文件,第一步就是初始化ZipFile實例。下面我們打開我們準備好的text.zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/TEST.ZIP");

我們只傳了一個路徑參數進去,從幫助文檔我們可以看到,後面三個參數都有默認值,這裡我們使用默認值就夠了。

下面我們關注下ZipFile類的extractall方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

extractall方法,是把壓縮包裡面的內容都解壓出來,三個參數,path是解壓的路徑,members是需要解壓出來的文件,pwd是密碼。

現在我們可以測試下文件解壓了。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall("/HOME/",pwd="456789");

運行這個腳本。

"
Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

照顧沒有接觸過Python編程的同學,行文可能會有些囉嗦。

廢話少說,我們進入正題。

2.1準備基本材料

/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

dict.txt文件是一個字典文件,簡單的配置了幾個密碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們打開開發工具,開始編寫測試代碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.2 ZIPFILE

在python中操作zip文件,最簡單的方式就是使用zipfile模塊,使用該模塊可以用來判斷一個文件是否是壓縮文件,創建、解壓文件,獲取zip文件的元數據信息。可以使用python的help方法查看該模塊的使用方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

這裡我們首先關注下ZipFile類

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

該類用來打開,讀取,修改,解壓zip文件。我們想要操作一個zip文件,第一步就是初始化ZipFile實例。下面我們打開我們準備好的text.zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/TEST.ZIP");

我們只傳了一個路徑參數進去,從幫助文檔我們可以看到,後面三個參數都有默認值,這裡我們使用默認值就夠了。

下面我們關注下ZipFile類的extractall方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

extractall方法,是把壓縮包裡面的內容都解壓出來,三個參數,path是解壓的路徑,members是需要解壓出來的文件,pwd是密碼。

現在我們可以測試下文件解壓了。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall("/HOME/",pwd="456789");

運行這個腳本。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

密碼正確的話,會正常解壓文件。如果密碼不正確會出現什麼情況呢?我們在代碼中輸入一個錯誤的密碼。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall(path="/HOME/ZIPTEST",pwd="4567890");

結果如下:

"
Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

照顧沒有接觸過Python編程的同學,行文可能會有些囉嗦。

廢話少說,我們進入正題。

2.1準備基本材料

/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

dict.txt文件是一個字典文件,簡單的配置了幾個密碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們打開開發工具,開始編寫測試代碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.2 ZIPFILE

在python中操作zip文件,最簡單的方式就是使用zipfile模塊,使用該模塊可以用來判斷一個文件是否是壓縮文件,創建、解壓文件,獲取zip文件的元數據信息。可以使用python的help方法查看該模塊的使用方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

這裡我們首先關注下ZipFile類

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

該類用來打開,讀取,修改,解壓zip文件。我們想要操作一個zip文件,第一步就是初始化ZipFile實例。下面我們打開我們準備好的text.zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/TEST.ZIP");

我們只傳了一個路徑參數進去,從幫助文檔我們可以看到,後面三個參數都有默認值,這裡我們使用默認值就夠了。

下面我們關注下ZipFile類的extractall方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

extractall方法,是把壓縮包裡面的內容都解壓出來,三個參數,path是解壓的路徑,members是需要解壓出來的文件,pwd是密碼。

現在我們可以測試下文件解壓了。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall("/HOME/",pwd="456789");

運行這個腳本。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

密碼正確的話,會正常解壓文件。如果密碼不正確會出現什麼情況呢?我們在代碼中輸入一個錯誤的密碼。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall(path="/HOME/ZIPTEST",pwd="4567890");

結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

程序會拋出“bad password”的異常。

我們可以通過捕獲異常,測試多個密碼。

2.3 讀取字典文件

在Python中打開文件,使用open方法,這是一個內置方法,查看open的幫助文檔,可以看到該方法的參數說明。

"
Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

照顧沒有接觸過Python編程的同學,行文可能會有些囉嗦。

廢話少說,我們進入正題。

2.1準備基本材料

/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

dict.txt文件是一個字典文件,簡單的配置了幾個密碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們打開開發工具,開始編寫測試代碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.2 ZIPFILE

在python中操作zip文件,最簡單的方式就是使用zipfile模塊,使用該模塊可以用來判斷一個文件是否是壓縮文件,創建、解壓文件,獲取zip文件的元數據信息。可以使用python的help方法查看該模塊的使用方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

這裡我們首先關注下ZipFile類

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

該類用來打開,讀取,修改,解壓zip文件。我們想要操作一個zip文件,第一步就是初始化ZipFile實例。下面我們打開我們準備好的text.zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/TEST.ZIP");

我們只傳了一個路徑參數進去,從幫助文檔我們可以看到,後面三個參數都有默認值,這裡我們使用默認值就夠了。

下面我們關注下ZipFile類的extractall方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

extractall方法,是把壓縮包裡面的內容都解壓出來,三個參數,path是解壓的路徑,members是需要解壓出來的文件,pwd是密碼。

現在我們可以測試下文件解壓了。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall("/HOME/",pwd="456789");

運行這個腳本。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

密碼正確的話,會正常解壓文件。如果密碼不正確會出現什麼情況呢?我們在代碼中輸入一個錯誤的密碼。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall(path="/HOME/ZIPTEST",pwd="4567890");

結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

程序會拋出“bad password”的異常。

我們可以通過捕獲異常,測試多個密碼。

2.3 讀取字典文件

在Python中打開文件,使用open方法,這是一個內置方法,查看open的幫助文檔,可以看到該方法的參數說明。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

open方法返回一個file對象,利用file對象,我們可以讀取文件的具體內容。下面我們在代碼中測試一下。

import zipfile

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

print(password);

運行結果如下:

"
Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

照顧沒有接觸過Python編程的同學,行文可能會有些囉嗦。

廢話少說,我們進入正題。

2.1準備基本材料

/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

dict.txt文件是一個字典文件,簡單的配置了幾個密碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們打開開發工具,開始編寫測試代碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.2 ZIPFILE

在python中操作zip文件,最簡單的方式就是使用zipfile模塊,使用該模塊可以用來判斷一個文件是否是壓縮文件,創建、解壓文件,獲取zip文件的元數據信息。可以使用python的help方法查看該模塊的使用方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

這裡我們首先關注下ZipFile類

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

該類用來打開,讀取,修改,解壓zip文件。我們想要操作一個zip文件,第一步就是初始化ZipFile實例。下面我們打開我們準備好的text.zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/TEST.ZIP");

我們只傳了一個路徑參數進去,從幫助文檔我們可以看到,後面三個參數都有默認值,這裡我們使用默認值就夠了。

下面我們關注下ZipFile類的extractall方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

extractall方法,是把壓縮包裡面的內容都解壓出來,三個參數,path是解壓的路徑,members是需要解壓出來的文件,pwd是密碼。

現在我們可以測試下文件解壓了。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall("/HOME/",pwd="456789");

運行這個腳本。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

密碼正確的話,會正常解壓文件。如果密碼不正確會出現什麼情況呢?我們在代碼中輸入一個錯誤的密碼。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall(path="/HOME/ZIPTEST",pwd="4567890");

結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

程序會拋出“bad password”的異常。

我們可以通過捕獲異常,測試多個密碼。

2.3 讀取字典文件

在Python中打開文件,使用open方法,這是一個內置方法,查看open的幫助文檔,可以看到該方法的參數說明。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

open方法返回一個file對象,利用file對象,我們可以讀取文件的具體內容。下面我們在代碼中測試一下。

import zipfile

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

print(password);

運行結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們利用讀取到的密碼來暴力測試zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

try:

zFile.extractall(path="/HOME/ZIPTEST",pwd=password);

print("PASSWORD IS:"+password);

exit(0);

except:

pass;

在上面的代碼中,我們使用try—except進行異常捕獲,密碼不正確的時候,程序跳過繼續執行。密碼正確的時候打印密碼,終止程序。運行結果如下:

"
Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

照顧沒有接觸過Python編程的同學,行文可能會有些囉嗦。

廢話少說,我們進入正題。

2.1準備基本材料

/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

dict.txt文件是一個字典文件,簡單的配置了幾個密碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們打開開發工具,開始編寫測試代碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.2 ZIPFILE

在python中操作zip文件,最簡單的方式就是使用zipfile模塊,使用該模塊可以用來判斷一個文件是否是壓縮文件,創建、解壓文件,獲取zip文件的元數據信息。可以使用python的help方法查看該模塊的使用方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

這裡我們首先關注下ZipFile類

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

該類用來打開,讀取,修改,解壓zip文件。我們想要操作一個zip文件,第一步就是初始化ZipFile實例。下面我們打開我們準備好的text.zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/TEST.ZIP");

我們只傳了一個路徑參數進去,從幫助文檔我們可以看到,後面三個參數都有默認值,這裡我們使用默認值就夠了。

下面我們關注下ZipFile類的extractall方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

extractall方法,是把壓縮包裡面的內容都解壓出來,三個參數,path是解壓的路徑,members是需要解壓出來的文件,pwd是密碼。

現在我們可以測試下文件解壓了。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall("/HOME/",pwd="456789");

運行這個腳本。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

密碼正確的話,會正常解壓文件。如果密碼不正確會出現什麼情況呢?我們在代碼中輸入一個錯誤的密碼。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall(path="/HOME/ZIPTEST",pwd="4567890");

結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

程序會拋出“bad password”的異常。

我們可以通過捕獲異常,測試多個密碼。

2.3 讀取字典文件

在Python中打開文件,使用open方法,這是一個內置方法,查看open的幫助文檔,可以看到該方法的參數說明。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

open方法返回一個file對象,利用file對象,我們可以讀取文件的具體內容。下面我們在代碼中測試一下。

import zipfile

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

print(password);

運行結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們利用讀取到的密碼來暴力測試zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

try:

zFile.extractall(path="/HOME/ZIPTEST",pwd=password);

print("PASSWORD IS:"+password);

exit(0);

except:

pass;

在上面的代碼中,我們使用try—except進行異常捕獲,密碼不正確的時候,程序跳過繼續執行。密碼正確的時候打印密碼,終止程序。運行結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

到目前為止,我們的腳本已經具備了暴力破解zip文件的功能,大家可以看到只有十幾行的代碼。下面我們為了提升程序的可用性,重構一下這個腳本,利用函數劃分功能。

2.4 重構 用函數劃分功能

首先定義一個extractFile函數,該函數接收三個參數,一個zipfile對象,解壓的目標路徑,密碼,如果解密成功則返回密碼。

def extractFile(toPath,zFile,password):

try:

zFile.extractall(path=toPath,pwd=password);

return password;

except Exception,e:

return;

下面我們再聲明一個main方法

def main():

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIP/TEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

guess = extractFile("/HOME/",zFile,password);

if guess:

print('SCUCESS'+password);

exit(0);

在main方法中,首先初始化了zipfile對象,然後打開字典文件,循環讀取密碼,傳給extractFile方法調用。

分離 了兩個方法之後,我們需要在程序的入口處調用main方法,完整代碼如下:

import zipfile

def extractFile(toPath,zFile,password):

try:

zFile.extractall(path=toPath,pwd=password);

print('SCUCESS'+password);

return password;

except Exception,e:

return;

def main():

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

guess = extractFile("/HOME/",zFile,password);

if guess:

print('SCUCESS'+password);

exit(0);

if __name__=='__MAIN__':

main();

這樣一來,代碼清晰了很多,但是我們更換zip文件和字典文件的時候,還是需要修改代碼,很不方便,正常的程序都應該可以傳遞參數的,ok,下面我們引入optparse庫。

2.5 OPTPARSE

Python 有兩個內建的模塊用於處理命令行參數:

一個是 getopt,《Deep in python》一書中也有提到,只能簡單處理 命令行參數;

另一個是 optparse,它功能強大,而且易於使用,可以方便地生成標準的、符合Unix/Posix規範的命令行說明。

首先先引入optparse模塊,然後強制添加兩個參數,zip文件名和字典文件名。先看代碼:

def main():

parser = optparse.OptionParser("usage%prog "+

"-f <zipfile> -d <dictFile>");

parser.add_option('-f',dest='zname',type='string',help='specify zip file');

parser.add_option('-d',dest='dname',type='string',help='specify dict file');

(options,args)=parser.parse_args();

if(options.zname==None)|(options.dname==None):

print parse.usage;

exixt(0);

else:

zname=options.zname;

dname=options.dname;

zFile = zipfile.ZipFile(zname);

passFile = open(dname);

for line in passFile.readlines():

password = line.strip(' ');

guess = extractFile("/home/",zFile,password);

if guess:

print('scucess'+password);

exit(0);

首先初始化一個OptionParser對象,然後添加兩個選項——“-f”和“-d”。之後在程序運行的時候通過parse_args方法獲取輸入的參數,如果參數為空,則打印使用方法,退出程序。

下面使用終端來測試這個程序。

無參數情況下:

"
Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

照顧沒有接觸過Python編程的同學,行文可能會有些囉嗦。

廢話少說,我們進入正題。

2.1準備基本材料

/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

dict.txt文件是一個字典文件,簡單的配置了幾個密碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們打開開發工具,開始編寫測試代碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.2 ZIPFILE

在python中操作zip文件,最簡單的方式就是使用zipfile模塊,使用該模塊可以用來判斷一個文件是否是壓縮文件,創建、解壓文件,獲取zip文件的元數據信息。可以使用python的help方法查看該模塊的使用方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

這裡我們首先關注下ZipFile類

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

該類用來打開,讀取,修改,解壓zip文件。我們想要操作一個zip文件,第一步就是初始化ZipFile實例。下面我們打開我們準備好的text.zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/TEST.ZIP");

我們只傳了一個路徑參數進去,從幫助文檔我們可以看到,後面三個參數都有默認值,這裡我們使用默認值就夠了。

下面我們關注下ZipFile類的extractall方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

extractall方法,是把壓縮包裡面的內容都解壓出來,三個參數,path是解壓的路徑,members是需要解壓出來的文件,pwd是密碼。

現在我們可以測試下文件解壓了。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall("/HOME/",pwd="456789");

運行這個腳本。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

密碼正確的話,會正常解壓文件。如果密碼不正確會出現什麼情況呢?我們在代碼中輸入一個錯誤的密碼。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall(path="/HOME/ZIPTEST",pwd="4567890");

結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

程序會拋出“bad password”的異常。

我們可以通過捕獲異常,測試多個密碼。

2.3 讀取字典文件

在Python中打開文件,使用open方法,這是一個內置方法,查看open的幫助文檔,可以看到該方法的參數說明。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

open方法返回一個file對象,利用file對象,我們可以讀取文件的具體內容。下面我們在代碼中測試一下。

import zipfile

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

print(password);

運行結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們利用讀取到的密碼來暴力測試zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

try:

zFile.extractall(path="/HOME/ZIPTEST",pwd=password);

print("PASSWORD IS:"+password);

exit(0);

except:

pass;

在上面的代碼中,我們使用try—except進行異常捕獲,密碼不正確的時候,程序跳過繼續執行。密碼正確的時候打印密碼,終止程序。運行結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

到目前為止,我們的腳本已經具備了暴力破解zip文件的功能,大家可以看到只有十幾行的代碼。下面我們為了提升程序的可用性,重構一下這個腳本,利用函數劃分功能。

2.4 重構 用函數劃分功能

首先定義一個extractFile函數,該函數接收三個參數,一個zipfile對象,解壓的目標路徑,密碼,如果解密成功則返回密碼。

def extractFile(toPath,zFile,password):

try:

zFile.extractall(path=toPath,pwd=password);

return password;

except Exception,e:

return;

下面我們再聲明一個main方法

def main():

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIP/TEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

guess = extractFile("/HOME/",zFile,password);

if guess:

print('SCUCESS'+password);

exit(0);

在main方法中,首先初始化了zipfile對象,然後打開字典文件,循環讀取密碼,傳給extractFile方法調用。

分離 了兩個方法之後,我們需要在程序的入口處調用main方法,完整代碼如下:

import zipfile

def extractFile(toPath,zFile,password):

try:

zFile.extractall(path=toPath,pwd=password);

print('SCUCESS'+password);

return password;

except Exception,e:

return;

def main():

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

guess = extractFile("/HOME/",zFile,password);

if guess:

print('SCUCESS'+password);

exit(0);

if __name__=='__MAIN__':

main();

這樣一來,代碼清晰了很多,但是我們更換zip文件和字典文件的時候,還是需要修改代碼,很不方便,正常的程序都應該可以傳遞參數的,ok,下面我們引入optparse庫。

2.5 OPTPARSE

Python 有兩個內建的模塊用於處理命令行參數:

一個是 getopt,《Deep in python》一書中也有提到,只能簡單處理 命令行參數;

另一個是 optparse,它功能強大,而且易於使用,可以方便地生成標準的、符合Unix/Posix規範的命令行說明。

首先先引入optparse模塊,然後強制添加兩個參數,zip文件名和字典文件名。先看代碼:

def main():

parser = optparse.OptionParser("usage%prog "+

"-f <zipfile> -d <dictFile>");

parser.add_option('-f',dest='zname',type='string',help='specify zip file');

parser.add_option('-d',dest='dname',type='string',help='specify dict file');

(options,args)=parser.parse_args();

if(options.zname==None)|(options.dname==None):

print parse.usage;

exixt(0);

else:

zname=options.zname;

dname=options.dname;

zFile = zipfile.ZipFile(zname);

passFile = open(dname);

for line in passFile.readlines():

password = line.strip(' ');

guess = extractFile("/home/",zFile,password);

if guess:

print('scucess'+password);

exit(0);

首先初始化一個OptionParser對象,然後添加兩個選項——“-f”和“-d”。之後在程序運行的時候通過parse_args方法獲取輸入的參數,如果參數為空,則打印使用方法,退出程序。

下面使用終端來測試這個程序。

無參數情況下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

輸入參數:

"
Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

照顧沒有接觸過Python編程的同學,行文可能會有些囉嗦。

廢話少說,我們進入正題。

2.1準備基本材料

/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

dict.txt文件是一個字典文件,簡單的配置了幾個密碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們打開開發工具,開始編寫測試代碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.2 ZIPFILE

在python中操作zip文件,最簡單的方式就是使用zipfile模塊,使用該模塊可以用來判斷一個文件是否是壓縮文件,創建、解壓文件,獲取zip文件的元數據信息。可以使用python的help方法查看該模塊的使用方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

這裡我們首先關注下ZipFile類

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

該類用來打開,讀取,修改,解壓zip文件。我們想要操作一個zip文件,第一步就是初始化ZipFile實例。下面我們打開我們準備好的text.zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/TEST.ZIP");

我們只傳了一個路徑參數進去,從幫助文檔我們可以看到,後面三個參數都有默認值,這裡我們使用默認值就夠了。

下面我們關注下ZipFile類的extractall方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

extractall方法,是把壓縮包裡面的內容都解壓出來,三個參數,path是解壓的路徑,members是需要解壓出來的文件,pwd是密碼。

現在我們可以測試下文件解壓了。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall("/HOME/",pwd="456789");

運行這個腳本。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

密碼正確的話,會正常解壓文件。如果密碼不正確會出現什麼情況呢?我們在代碼中輸入一個錯誤的密碼。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall(path="/HOME/ZIPTEST",pwd="4567890");

結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

程序會拋出“bad password”的異常。

我們可以通過捕獲異常,測試多個密碼。

2.3 讀取字典文件

在Python中打開文件,使用open方法,這是一個內置方法,查看open的幫助文檔,可以看到該方法的參數說明。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

open方法返回一個file對象,利用file對象,我們可以讀取文件的具體內容。下面我們在代碼中測試一下。

import zipfile

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

print(password);

運行結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們利用讀取到的密碼來暴力測試zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

try:

zFile.extractall(path="/HOME/ZIPTEST",pwd=password);

print("PASSWORD IS:"+password);

exit(0);

except:

pass;

在上面的代碼中,我們使用try—except進行異常捕獲,密碼不正確的時候,程序跳過繼續執行。密碼正確的時候打印密碼,終止程序。運行結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

到目前為止,我們的腳本已經具備了暴力破解zip文件的功能,大家可以看到只有十幾行的代碼。下面我們為了提升程序的可用性,重構一下這個腳本,利用函數劃分功能。

2.4 重構 用函數劃分功能

首先定義一個extractFile函數,該函數接收三個參數,一個zipfile對象,解壓的目標路徑,密碼,如果解密成功則返回密碼。

def extractFile(toPath,zFile,password):

try:

zFile.extractall(path=toPath,pwd=password);

return password;

except Exception,e:

return;

下面我們再聲明一個main方法

def main():

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIP/TEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

guess = extractFile("/HOME/",zFile,password);

if guess:

print('SCUCESS'+password);

exit(0);

在main方法中,首先初始化了zipfile對象,然後打開字典文件,循環讀取密碼,傳給extractFile方法調用。

分離 了兩個方法之後,我們需要在程序的入口處調用main方法,完整代碼如下:

import zipfile

def extractFile(toPath,zFile,password):

try:

zFile.extractall(path=toPath,pwd=password);

print('SCUCESS'+password);

return password;

except Exception,e:

return;

def main():

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

guess = extractFile("/HOME/",zFile,password);

if guess:

print('SCUCESS'+password);

exit(0);

if __name__=='__MAIN__':

main();

這樣一來,代碼清晰了很多,但是我們更換zip文件和字典文件的時候,還是需要修改代碼,很不方便,正常的程序都應該可以傳遞參數的,ok,下面我們引入optparse庫。

2.5 OPTPARSE

Python 有兩個內建的模塊用於處理命令行參數:

一個是 getopt,《Deep in python》一書中也有提到,只能簡單處理 命令行參數;

另一個是 optparse,它功能強大,而且易於使用,可以方便地生成標準的、符合Unix/Posix規範的命令行說明。

首先先引入optparse模塊,然後強制添加兩個參數,zip文件名和字典文件名。先看代碼:

def main():

parser = optparse.OptionParser("usage%prog "+

"-f <zipfile> -d <dictFile>");

parser.add_option('-f',dest='zname',type='string',help='specify zip file');

parser.add_option('-d',dest='dname',type='string',help='specify dict file');

(options,args)=parser.parse_args();

if(options.zname==None)|(options.dname==None):

print parse.usage;

exixt(0);

else:

zname=options.zname;

dname=options.dname;

zFile = zipfile.ZipFile(zname);

passFile = open(dname);

for line in passFile.readlines():

password = line.strip(' ');

guess = extractFile("/home/",zFile,password);

if guess:

print('scucess'+password);

exit(0);

首先初始化一個OptionParser對象,然後添加兩個選項——“-f”和“-d”。之後在程序運行的時候通過parse_args方法獲取輸入的參數,如果參數為空,則打印使用方法,退出程序。

下面使用終端來測試這個程序。

無參數情況下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

輸入參數:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.6 小結

這個程序本身並沒有什麼難點,但是通過這個入門案例,我們可以體驗Python編程的基本方法,如何查看幫助文檔,如何引入模塊,初始化對象,操作zip文件,打開本地文件,命令行參數設置。

"
Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

照顧沒有接觸過Python編程的同學,行文可能會有些囉嗦。

廢話少說,我們進入正題。

2.1準備基本材料

/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

dict.txt文件是一個字典文件,簡單的配置了幾個密碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們打開開發工具,開始編寫測試代碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.2 ZIPFILE

在python中操作zip文件,最簡單的方式就是使用zipfile模塊,使用該模塊可以用來判斷一個文件是否是壓縮文件,創建、解壓文件,獲取zip文件的元數據信息。可以使用python的help方法查看該模塊的使用方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

這裡我們首先關注下ZipFile類

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

該類用來打開,讀取,修改,解壓zip文件。我們想要操作一個zip文件,第一步就是初始化ZipFile實例。下面我們打開我們準備好的text.zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/TEST.ZIP");

我們只傳了一個路徑參數進去,從幫助文檔我們可以看到,後面三個參數都有默認值,這裡我們使用默認值就夠了。

下面我們關注下ZipFile類的extractall方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

extractall方法,是把壓縮包裡面的內容都解壓出來,三個參數,path是解壓的路徑,members是需要解壓出來的文件,pwd是密碼。

現在我們可以測試下文件解壓了。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall("/HOME/",pwd="456789");

運行這個腳本。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

密碼正確的話,會正常解壓文件。如果密碼不正確會出現什麼情況呢?我們在代碼中輸入一個錯誤的密碼。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall(path="/HOME/ZIPTEST",pwd="4567890");

結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

程序會拋出“bad password”的異常。

我們可以通過捕獲異常,測試多個密碼。

2.3 讀取字典文件

在Python中打開文件,使用open方法,這是一個內置方法,查看open的幫助文檔,可以看到該方法的參數說明。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

open方法返回一個file對象,利用file對象,我們可以讀取文件的具體內容。下面我們在代碼中測試一下。

import zipfile

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

print(password);

運行結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們利用讀取到的密碼來暴力測試zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

try:

zFile.extractall(path="/HOME/ZIPTEST",pwd=password);

print("PASSWORD IS:"+password);

exit(0);

except:

pass;

在上面的代碼中,我們使用try—except進行異常捕獲,密碼不正確的時候,程序跳過繼續執行。密碼正確的時候打印密碼,終止程序。運行結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

到目前為止,我們的腳本已經具備了暴力破解zip文件的功能,大家可以看到只有十幾行的代碼。下面我們為了提升程序的可用性,重構一下這個腳本,利用函數劃分功能。

2.4 重構 用函數劃分功能

首先定義一個extractFile函數,該函數接收三個參數,一個zipfile對象,解壓的目標路徑,密碼,如果解密成功則返回密碼。

def extractFile(toPath,zFile,password):

try:

zFile.extractall(path=toPath,pwd=password);

return password;

except Exception,e:

return;

下面我們再聲明一個main方法

def main():

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIP/TEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

guess = extractFile("/HOME/",zFile,password);

if guess:

print('SCUCESS'+password);

exit(0);

在main方法中,首先初始化了zipfile對象,然後打開字典文件,循環讀取密碼,傳給extractFile方法調用。

分離 了兩個方法之後,我們需要在程序的入口處調用main方法,完整代碼如下:

import zipfile

def extractFile(toPath,zFile,password):

try:

zFile.extractall(path=toPath,pwd=password);

print('SCUCESS'+password);

return password;

except Exception,e:

return;

def main():

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

guess = extractFile("/HOME/",zFile,password);

if guess:

print('SCUCESS'+password);

exit(0);

if __name__=='__MAIN__':

main();

這樣一來,代碼清晰了很多,但是我們更換zip文件和字典文件的時候,還是需要修改代碼,很不方便,正常的程序都應該可以傳遞參數的,ok,下面我們引入optparse庫。

2.5 OPTPARSE

Python 有兩個內建的模塊用於處理命令行參數:

一個是 getopt,《Deep in python》一書中也有提到,只能簡單處理 命令行參數;

另一個是 optparse,它功能強大,而且易於使用,可以方便地生成標準的、符合Unix/Posix規範的命令行說明。

首先先引入optparse模塊,然後強制添加兩個參數,zip文件名和字典文件名。先看代碼:

def main():

parser = optparse.OptionParser("usage%prog "+

"-f <zipfile> -d <dictFile>");

parser.add_option('-f',dest='zname',type='string',help='specify zip file');

parser.add_option('-d',dest='dname',type='string',help='specify dict file');

(options,args)=parser.parse_args();

if(options.zname==None)|(options.dname==None):

print parse.usage;

exixt(0);

else:

zname=options.zname;

dname=options.dname;

zFile = zipfile.ZipFile(zname);

passFile = open(dname);

for line in passFile.readlines():

password = line.strip(' ');

guess = extractFile("/home/",zFile,password);

if guess:

print('scucess'+password);

exit(0);

首先初始化一個OptionParser對象,然後添加兩個選項——“-f”和“-d”。之後在程序運行的時候通過parse_args方法獲取輸入的參數,如果參數為空,則打印使用方法,退出程序。

下面使用終端來測試這個程序。

無參數情況下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

輸入參數:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.6 小結

這個程序本身並沒有什麼難點,但是通過這個入門案例,我們可以體驗Python編程的基本方法,如何查看幫助文檔,如何引入模塊,初始化對象,操作zip文件,打開本地文件,命令行參數設置。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

看名字就清楚,這絕對是最簡單的黑客入門教程,小編已經給大家準備好了電子版,大家可以找小編領取哦!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

"
Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

照顧沒有接觸過Python編程的同學,行文可能會有些囉嗦。

廢話少說,我們進入正題。

2.1準備基本材料

/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

dict.txt文件是一個字典文件,簡單的配置了幾個密碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們打開開發工具,開始編寫測試代碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.2 ZIPFILE

在python中操作zip文件,最簡單的方式就是使用zipfile模塊,使用該模塊可以用來判斷一個文件是否是壓縮文件,創建、解壓文件,獲取zip文件的元數據信息。可以使用python的help方法查看該模塊的使用方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

這裡我們首先關注下ZipFile類

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

該類用來打開,讀取,修改,解壓zip文件。我們想要操作一個zip文件,第一步就是初始化ZipFile實例。下面我們打開我們準備好的text.zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/TEST.ZIP");

我們只傳了一個路徑參數進去,從幫助文檔我們可以看到,後面三個參數都有默認值,這裡我們使用默認值就夠了。

下面我們關注下ZipFile類的extractall方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

extractall方法,是把壓縮包裡面的內容都解壓出來,三個參數,path是解壓的路徑,members是需要解壓出來的文件,pwd是密碼。

現在我們可以測試下文件解壓了。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall("/HOME/",pwd="456789");

運行這個腳本。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

密碼正確的話,會正常解壓文件。如果密碼不正確會出現什麼情況呢?我們在代碼中輸入一個錯誤的密碼。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall(path="/HOME/ZIPTEST",pwd="4567890");

結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

程序會拋出“bad password”的異常。

我們可以通過捕獲異常,測試多個密碼。

2.3 讀取字典文件

在Python中打開文件,使用open方法,這是一個內置方法,查看open的幫助文檔,可以看到該方法的參數說明。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

open方法返回一個file對象,利用file對象,我們可以讀取文件的具體內容。下面我們在代碼中測試一下。

import zipfile

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

print(password);

運行結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們利用讀取到的密碼來暴力測試zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

try:

zFile.extractall(path="/HOME/ZIPTEST",pwd=password);

print("PASSWORD IS:"+password);

exit(0);

except:

pass;

在上面的代碼中,我們使用try—except進行異常捕獲,密碼不正確的時候,程序跳過繼續執行。密碼正確的時候打印密碼,終止程序。運行結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

到目前為止,我們的腳本已經具備了暴力破解zip文件的功能,大家可以看到只有十幾行的代碼。下面我們為了提升程序的可用性,重構一下這個腳本,利用函數劃分功能。

2.4 重構 用函數劃分功能

首先定義一個extractFile函數,該函數接收三個參數,一個zipfile對象,解壓的目標路徑,密碼,如果解密成功則返回密碼。

def extractFile(toPath,zFile,password):

try:

zFile.extractall(path=toPath,pwd=password);

return password;

except Exception,e:

return;

下面我們再聲明一個main方法

def main():

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIP/TEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

guess = extractFile("/HOME/",zFile,password);

if guess:

print('SCUCESS'+password);

exit(0);

在main方法中,首先初始化了zipfile對象,然後打開字典文件,循環讀取密碼,傳給extractFile方法調用。

分離 了兩個方法之後,我們需要在程序的入口處調用main方法,完整代碼如下:

import zipfile

def extractFile(toPath,zFile,password):

try:

zFile.extractall(path=toPath,pwd=password);

print('SCUCESS'+password);

return password;

except Exception,e:

return;

def main():

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

guess = extractFile("/HOME/",zFile,password);

if guess:

print('SCUCESS'+password);

exit(0);

if __name__=='__MAIN__':

main();

這樣一來,代碼清晰了很多,但是我們更換zip文件和字典文件的時候,還是需要修改代碼,很不方便,正常的程序都應該可以傳遞參數的,ok,下面我們引入optparse庫。

2.5 OPTPARSE

Python 有兩個內建的模塊用於處理命令行參數:

一個是 getopt,《Deep in python》一書中也有提到,只能簡單處理 命令行參數;

另一個是 optparse,它功能強大,而且易於使用,可以方便地生成標準的、符合Unix/Posix規範的命令行說明。

首先先引入optparse模塊,然後強制添加兩個參數,zip文件名和字典文件名。先看代碼:

def main():

parser = optparse.OptionParser("usage%prog "+

"-f <zipfile> -d <dictFile>");

parser.add_option('-f',dest='zname',type='string',help='specify zip file');

parser.add_option('-d',dest='dname',type='string',help='specify dict file');

(options,args)=parser.parse_args();

if(options.zname==None)|(options.dname==None):

print parse.usage;

exixt(0);

else:

zname=options.zname;

dname=options.dname;

zFile = zipfile.ZipFile(zname);

passFile = open(dname);

for line in passFile.readlines():

password = line.strip(' ');

guess = extractFile("/home/",zFile,password);

if guess:

print('scucess'+password);

exit(0);

首先初始化一個OptionParser對象,然後添加兩個選項——“-f”和“-d”。之後在程序運行的時候通過parse_args方法獲取輸入的參數,如果參數為空,則打印使用方法,退出程序。

下面使用終端來測試這個程序。

無參數情況下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

輸入參數:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.6 小結

這個程序本身並沒有什麼難點,但是通過這個入門案例,我們可以體驗Python編程的基本方法,如何查看幫助文檔,如何引入模塊,初始化對象,操作zip文件,打開本地文件,命令行參數設置。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

看名字就清楚,這絕對是最簡單的黑客入門教程,小編已經給大家準備好了電子版,大家可以找小編領取哦!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

"
Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

照顧沒有接觸過Python編程的同學,行文可能會有些囉嗦。

廢話少說,我們進入正題。

2.1準備基本材料

/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

dict.txt文件是一個字典文件,簡單的配置了幾個密碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們打開開發工具,開始編寫測試代碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.2 ZIPFILE

在python中操作zip文件,最簡單的方式就是使用zipfile模塊,使用該模塊可以用來判斷一個文件是否是壓縮文件,創建、解壓文件,獲取zip文件的元數據信息。可以使用python的help方法查看該模塊的使用方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

這裡我們首先關注下ZipFile類

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

該類用來打開,讀取,修改,解壓zip文件。我們想要操作一個zip文件,第一步就是初始化ZipFile實例。下面我們打開我們準備好的text.zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/TEST.ZIP");

我們只傳了一個路徑參數進去,從幫助文檔我們可以看到,後面三個參數都有默認值,這裡我們使用默認值就夠了。

下面我們關注下ZipFile類的extractall方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

extractall方法,是把壓縮包裡面的內容都解壓出來,三個參數,path是解壓的路徑,members是需要解壓出來的文件,pwd是密碼。

現在我們可以測試下文件解壓了。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall("/HOME/",pwd="456789");

運行這個腳本。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

密碼正確的話,會正常解壓文件。如果密碼不正確會出現什麼情況呢?我們在代碼中輸入一個錯誤的密碼。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall(path="/HOME/ZIPTEST",pwd="4567890");

結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

程序會拋出“bad password”的異常。

我們可以通過捕獲異常,測試多個密碼。

2.3 讀取字典文件

在Python中打開文件,使用open方法,這是一個內置方法,查看open的幫助文檔,可以看到該方法的參數說明。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

open方法返回一個file對象,利用file對象,我們可以讀取文件的具體內容。下面我們在代碼中測試一下。

import zipfile

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

print(password);

運行結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們利用讀取到的密碼來暴力測試zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

try:

zFile.extractall(path="/HOME/ZIPTEST",pwd=password);

print("PASSWORD IS:"+password);

exit(0);

except:

pass;

在上面的代碼中,我們使用try—except進行異常捕獲,密碼不正確的時候,程序跳過繼續執行。密碼正確的時候打印密碼,終止程序。運行結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

到目前為止,我們的腳本已經具備了暴力破解zip文件的功能,大家可以看到只有十幾行的代碼。下面我們為了提升程序的可用性,重構一下這個腳本,利用函數劃分功能。

2.4 重構 用函數劃分功能

首先定義一個extractFile函數,該函數接收三個參數,一個zipfile對象,解壓的目標路徑,密碼,如果解密成功則返回密碼。

def extractFile(toPath,zFile,password):

try:

zFile.extractall(path=toPath,pwd=password);

return password;

except Exception,e:

return;

下面我們再聲明一個main方法

def main():

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIP/TEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

guess = extractFile("/HOME/",zFile,password);

if guess:

print('SCUCESS'+password);

exit(0);

在main方法中,首先初始化了zipfile對象,然後打開字典文件,循環讀取密碼,傳給extractFile方法調用。

分離 了兩個方法之後,我們需要在程序的入口處調用main方法,完整代碼如下:

import zipfile

def extractFile(toPath,zFile,password):

try:

zFile.extractall(path=toPath,pwd=password);

print('SCUCESS'+password);

return password;

except Exception,e:

return;

def main():

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

guess = extractFile("/HOME/",zFile,password);

if guess:

print('SCUCESS'+password);

exit(0);

if __name__=='__MAIN__':

main();

這樣一來,代碼清晰了很多,但是我們更換zip文件和字典文件的時候,還是需要修改代碼,很不方便,正常的程序都應該可以傳遞參數的,ok,下面我們引入optparse庫。

2.5 OPTPARSE

Python 有兩個內建的模塊用於處理命令行參數:

一個是 getopt,《Deep in python》一書中也有提到,只能簡單處理 命令行參數;

另一個是 optparse,它功能強大,而且易於使用,可以方便地生成標準的、符合Unix/Posix規範的命令行說明。

首先先引入optparse模塊,然後強制添加兩個參數,zip文件名和字典文件名。先看代碼:

def main():

parser = optparse.OptionParser("usage%prog "+

"-f <zipfile> -d <dictFile>");

parser.add_option('-f',dest='zname',type='string',help='specify zip file');

parser.add_option('-d',dest='dname',type='string',help='specify dict file');

(options,args)=parser.parse_args();

if(options.zname==None)|(options.dname==None):

print parse.usage;

exixt(0);

else:

zname=options.zname;

dname=options.dname;

zFile = zipfile.ZipFile(zname);

passFile = open(dname);

for line in passFile.readlines():

password = line.strip(' ');

guess = extractFile("/home/",zFile,password);

if guess:

print('scucess'+password);

exit(0);

首先初始化一個OptionParser對象,然後添加兩個選項——“-f”和“-d”。之後在程序運行的時候通過parse_args方法獲取輸入的參數,如果參數為空,則打印使用方法,退出程序。

下面使用終端來測試這個程序。

無參數情況下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

輸入參數:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.6 小結

這個程序本身並沒有什麼難點,但是通過這個入門案例,我們可以體驗Python編程的基本方法,如何查看幫助文檔,如何引入模塊,初始化對象,操作zip文件,打開本地文件,命令行參數設置。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

看名字就清楚,這絕對是最簡單的黑客入門教程,小編已經給大家準備好了電子版,大家可以找小編領取哦!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

"
Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

照顧沒有接觸過Python編程的同學,行文可能會有些囉嗦。

廢話少說,我們進入正題。

2.1準備基本材料

/home/ziptest/目錄下,我創建了兩個文件,一個test.zip,是一個設置了密碼的zip包,密碼為456789。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

dict.txt文件是一個字典文件,簡單的配置了幾個密碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們打開開發工具,開始編寫測試代碼。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.2 ZIPFILE

在python中操作zip文件,最簡單的方式就是使用zipfile模塊,使用該模塊可以用來判斷一個文件是否是壓縮文件,創建、解壓文件,獲取zip文件的元數據信息。可以使用python的help方法查看該模塊的使用方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

這裡我們首先關注下ZipFile類

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

該類用來打開,讀取,修改,解壓zip文件。我們想要操作一個zip文件,第一步就是初始化ZipFile實例。下面我們打開我們準備好的text.zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/TEST.ZIP");

我們只傳了一個路徑參數進去,從幫助文檔我們可以看到,後面三個參數都有默認值,這裡我們使用默認值就夠了。

下面我們關注下ZipFile類的extractall方法。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

extractall方法,是把壓縮包裡面的內容都解壓出來,三個參數,path是解壓的路徑,members是需要解壓出來的文件,pwd是密碼。

現在我們可以測試下文件解壓了。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall("/HOME/",pwd="456789");

運行這個腳本。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

密碼正確的話,會正常解壓文件。如果密碼不正確會出現什麼情況呢?我們在代碼中輸入一個錯誤的密碼。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

zFile.extractall(path="/HOME/ZIPTEST",pwd="4567890");

結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

程序會拋出“bad password”的異常。

我們可以通過捕獲異常,測試多個密碼。

2.3 讀取字典文件

在Python中打開文件,使用open方法,這是一個內置方法,查看open的幫助文檔,可以看到該方法的參數說明。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

open方法返回一個file對象,利用file對象,我們可以讀取文件的具體內容。下面我們在代碼中測試一下。

import zipfile

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

print(password);

運行結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

下面我們利用讀取到的密碼來暴力測試zip文件。

import zipfile

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

try:

zFile.extractall(path="/HOME/ZIPTEST",pwd=password);

print("PASSWORD IS:"+password);

exit(0);

except:

pass;

在上面的代碼中,我們使用try—except進行異常捕獲,密碼不正確的時候,程序跳過繼續執行。密碼正確的時候打印密碼,終止程序。運行結果如下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

到目前為止,我們的腳本已經具備了暴力破解zip文件的功能,大家可以看到只有十幾行的代碼。下面我們為了提升程序的可用性,重構一下這個腳本,利用函數劃分功能。

2.4 重構 用函數劃分功能

首先定義一個extractFile函數,該函數接收三個參數,一個zipfile對象,解壓的目標路徑,密碼,如果解密成功則返回密碼。

def extractFile(toPath,zFile,password):

try:

zFile.extractall(path=toPath,pwd=password);

return password;

except Exception,e:

return;

下面我們再聲明一個main方法

def main():

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIP/TEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

guess = extractFile("/HOME/",zFile,password);

if guess:

print('SCUCESS'+password);

exit(0);

在main方法中,首先初始化了zipfile對象,然後打開字典文件,循環讀取密碼,傳給extractFile方法調用。

分離 了兩個方法之後,我們需要在程序的入口處調用main方法,完整代碼如下:

import zipfile

def extractFile(toPath,zFile,password):

try:

zFile.extractall(path=toPath,pwd=password);

print('SCUCESS'+password);

return password;

except Exception,e:

return;

def main():

zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");

passFile = open('/HOME/ZIPTEST/DICT.TXT');

for line in passFile.readlines():

password = line.strip('N');

guess = extractFile("/HOME/",zFile,password);

if guess:

print('SCUCESS'+password);

exit(0);

if __name__=='__MAIN__':

main();

這樣一來,代碼清晰了很多,但是我們更換zip文件和字典文件的時候,還是需要修改代碼,很不方便,正常的程序都應該可以傳遞參數的,ok,下面我們引入optparse庫。

2.5 OPTPARSE

Python 有兩個內建的模塊用於處理命令行參數:

一個是 getopt,《Deep in python》一書中也有提到,只能簡單處理 命令行參數;

另一個是 optparse,它功能強大,而且易於使用,可以方便地生成標準的、符合Unix/Posix規範的命令行說明。

首先先引入optparse模塊,然後強制添加兩個參數,zip文件名和字典文件名。先看代碼:

def main():

parser = optparse.OptionParser("usage%prog "+

"-f <zipfile> -d <dictFile>");

parser.add_option('-f',dest='zname',type='string',help='specify zip file');

parser.add_option('-d',dest='dname',type='string',help='specify dict file');

(options,args)=parser.parse_args();

if(options.zname==None)|(options.dname==None):

print parse.usage;

exixt(0);

else:

zname=options.zname;

dname=options.dname;

zFile = zipfile.ZipFile(zname);

passFile = open(dname);

for line in passFile.readlines():

password = line.strip(' ');

guess = extractFile("/home/",zFile,password);

if guess:

print('scucess'+password);

exit(0);

首先初始化一個OptionParser對象,然後添加兩個選項——“-f”和“-d”。之後在程序運行的時候通過parse_args方法獲取輸入的參數,如果參數為空,則打印使用方法,退出程序。

下面使用終端來測試這個程序。

無參數情況下:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

輸入參數:

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

2.6 小結

這個程序本身並沒有什麼難點,但是通過這個入門案例,我們可以體驗Python編程的基本方法,如何查看幫助文檔,如何引入模塊,初始化對象,操作zip文件,打開本地文件,命令行參數設置。

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

看名字就清楚,這絕對是最簡單的黑客入門教程,小編已經給大家準備好了電子版,大家可以找小編領取哦!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料

Python黑客入門:教你暴力破解zip,附贈全套python教程+黑客資料


"

相關推薦

推薦中...