<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          小明用 Python 開發(fā)一個 【暴力破解壓縮文件 zip 密碼】,省了 250 塊錢

          共 1377字,需瀏覽 3分鐘

           ·

          2020-09-02 00:18



          那天晚上
          小明和你一樣
          在某個小網(wǎng)站上搜尋某些
          私密的學(xué)習(xí)資料






          突然看到論壇有人提供了
          一個非常牛逼的資源

          小明懷著激動的心情
          下載了下來






          他懷著激動的心情
          打開了這個壓縮文件
          看到就只有這么一個 txt?






          小明就是一頓雙擊
          可是突然發(fā)現(xiàn)
          這玩意居然需要密碼






          ???
          褲子都脫了
          你給我看這個?






          小明只好找到樓主
          求他給下解壓密碼

          對方只是冷淡的回應(yīng)了一句
          “250塊錢不講價”


          小明摸了摸自己
          剛穿上褲子的口袋


          感嘆了一句:





          罵了一句樓主沒良心之后
          小明嘆了口氣...

          回到 zip 文件面前
          想著碰碰運氣
          隨便輸了幾個密碼

          可惜都是錯誤的






          這可咋辦呢?
          看不到文件內(nèi)容
          心理賊難受





          過了一會
          小明靈光一閃

          這不,關(guān)注了
          “學(xué)習(xí) Python 的正確姿勢”
          這個公眾號有段時間了

          自己用 Python 來把密碼給破解了
          應(yīng)該不難吧?






          于是小明看了一下
          Python 文檔

          找到了一個叫做
          zipfile 的庫
          專門用來操作 zip 文件的






          往下拉
          小明突然看到這個方法






          小明心中一樂
          這不正是我想要的嘛

          使用?extractall?方法解壓文件
          pwd 傳入 zip?密碼就可以了

          自己不知道密碼
          一個一個試就太慢了

          小明突然想到了這玩意




          讓 Python 瘋狂的去調(diào)用這個 extractall 方法
          每次傳入的 pwd 都不同
          直到試到密碼正確為止
          這不就只是時間問題了么?





          思路有了
          代碼擼起


          小明希望可以開發(fā)一個破解腳本
          說不定以后還可以用得著

          像這樣





          可以讓 Python 直接暴力破解
          也可以傳入自定義的密碼字典文件去破解

          于是他使用了 click 來定義
          命令參數(shù)的使用







          可以通過?b 的參數(shù)值
          判斷使用哪種破解方式






          首先來寫一下字典破解的方式


          使用這種方式
          說明用戶手上有密碼字典文件了






          那么只要讀取這些密碼
          挨個去解壓就 ok


          首先使用 ZipFile?打開
          要破解的壓縮文件






          接著打開用戶傳入的字典文件
          挨個密碼讀取






          接著就可以調(diào)用?extractall
          來依次嘗試密碼了

          如果沒報密碼錯誤
          說明密碼正確

          把正確的密碼打印出來
          否則就是錯誤密碼

          或者
          你這字典密碼壓根就沒有正確的密碼






          ok
          傳入一個 10000?個密碼的字典文件
          試著運行一波






          恩,還可以
          不過字典文件密碼太少
          沒那么輕易找得到






          接下來再來寫另一種情況


          當(dāng)用戶字典密碼文件找不到正確的
          或者用戶壓根就沒有字典密碼咋辦


          可能你也想到了
          可以使用迭代呀






          于是
          小明把鍵盤的按鈕都
          死命敲了個遍






          然后使用 itertools 的 product
          就可以迭代生成各種密碼了

          比如要生成各種 6 位的密碼
          就可以這樣






          運行起來就是這樣的






          因為不知道密碼的長度
          所以可以從一位數(shù)的密碼開始生成
          然后逐個擊破






          同樣的
          將每次生成的密碼
          逐個嘗試





          如果發(fā)現(xiàn)一位數(shù)的密碼都不正確
          就將生成的密碼長度 +1
          以此類推




          來試試




          恩,有內(nèi)味了






          寫完之后
          小明就開始跑他的壓縮文件了





          等啊等啊等啊
          感覺密碼應(yīng)該不是很簡單
          需要等一段時間
          索性就讓它跑著
          然后睡覺去了





          小明第二天起來
          發(fā)現(xiàn)密碼出來了??!







          雖然小明感覺被這密碼
          嘲諷了一番

          但還是懷著激動的心情
          小明打開了壓縮文件
          輸入了密碼






          密碼正確
          打開文件
          天機不可泄露





          小明看到之后
          直接哭暈在廁所






          (完)


          本故事純屬虛構(gòu)
          如有雷同
          ???

          咱們下回見
          peace!



          瀏覽 73
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩A√中文字幕在线 | 伊人大香蕉视频在线观看 | 激情久久成人午夜视频 | 日韩黄色在线观看视频 | 黄色国产免费 |