?目錄
一、事情是這樣的
二、首先回顧一下女神的操作流程
三、需要密碼打開相冊
四、python腳本化處理
1、基本思路
2、解壓命令
3、解壓命令引數分析
4、整理7z解壓命令
5、關門!上python腳本
五、找女神去...
一、事情是這樣的
今早上班,公司女神小姐姐說,她去年去三亞旅游的照片打不開了
好奇問了一下才知道,
原來是,她把照片壓縮了,而且還加了密碼,
但是密碼不記得了,只記得是一串6位數字,
話說照片壓縮率也不高,而且還加密,難道是有什么可愛的小照片

但是作為一個正(ba)直(gua)的技術人員
我跟她說:“這事交給我,python寫個腳本,幫你破解掉~~”

二、首先回顧一下女神的操作流程
對相冊進行壓縮的時候,添加了密碼,
LIke This ↓

三、需要密碼打開相冊
打開的時候,提示這樣的,需要輸入密碼,

四、python腳本化處理
1、基本思路
首先如果想要python命令列來打開小姐姐相冊,那么首先要找到嘗試打開的命令列,即解壓縮時使用的命令列,然后我們使用python腳本寫嵌套回圈,不斷的對zip檔案進行嘗試解壓,然后找回真實的密碼,
2、解壓命令
首先壓縮檔案是zip格式的,我們使用萬能的7z命令來進行解壓,
為什么不用unzip命令呢?(因為我試過了,unzip無法回圈)

3、解壓命令引數分析
#7Z詳細引數,下面只截取幾個關鍵引數PS C:\Users\lex> 7z7-Zip 21.01 alpha (x64) : Copyright (c) 1999-2021 Igor Pavlov : 2021-03-09Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...] [@listfile]<Commands>a : Add files to archive #加入壓縮d : Delete files from archivee : Extract files from archive (without using directory names)t : Test integrity of archive #嘗試密碼,不解壓...<Switches>-o{Directory} : set Output directory-p{Password} : set Password #設定密碼引數
4、整理7z解壓命令
命令太簡單,感覺都有點配不上我的才華和思路

7z -p 123456 t 三亞相冊.zip# t:嘗試打開,類似后臺運行# -p:嘗試的密碼# 最后是要解壓的檔案
5、關門!上python腳本
根據小姐姐的需求,密碼是6位純數字,那就幫我節省了好大一段時間
只對6位純數字進行嘗試就可以了,
三分鐘就把腳本搞出來了
# -*- coding:utf-8 -*-import osimport subprocessimport zipfiledef brutecrack():for a in range(1,10):for b in range(1,10):for c in range(1,10):for d in range(1,10):for e in range(1,10):for f in range(1,10):passwd=str(a)+str(b)+str(c)+str(d)+str(e)+str(f)command='7z -p'+passwd+' t F:/三亞相冊.zip' #t 表示test,不進行實際解壓,只測驗密碼print(passwd)child=subprocess.call(command)#os.popen(command)#這個也可以用,但是不好監控解壓狀態print(child)if child==0:print("相冊密碼為:"+passwd)returnif __name__ == '__main__':brutecrack()
五、找女神去...
面對著一籌莫展的女神,我運行起了腳本,不到5秒,相冊成功打開了,
效果gif ↓

打開之后,女神看我的眼神都變了,

有句古話說的好:python學的好,女神跑不了,歡迎關注微信公眾號:hacklex~~

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/274879.html
標籤:其他
