1. 程式人生 > >python寫zip破解器

python寫zip破解器

reading ctf 是我 sparse pri exit options for rip

瀏覽桌面依然平靜,!!!!等等。。怎麽有個壓縮包

技術分享

打開一看!!!156.txt???waht the fuck?

技術分享

臥槽還有密碼!!!!!!

技術分享

但是我不知道╮(╯▽╰)╭該怎麽辦呢!

很簡單,python寫一個zip字典破解器

首先呢,要用到zipfile模塊

---------------簡單的破解程序如下------------------------

#-*-coding:utf-8-*-
import zipfile
def test():
  zipFi=zipfile.ZipFile(xxxxx.zip)
  passfile=open(密碼字典.txt,r)
  
for line in passfile.readlines(): password=line.strip(\n) try: zipfile.extractall(pwd=password) printFound zip password:+word+\n except: pass
test()

你會不發現程序跑字典非常慢!

所以我們要改造一下。

這裏補充一點,因為有人可能沒有字典,我們可以用python生成一個!

------------字典生成器-------------

f=open(zidian.txt,w)
dic=123456
bs=[b+d+c+g for b in dic for d in dic for g in dic] for line in bs: print line f.write(line+\n)

技術分享

接下來我們給zip破解器加入多線程與能讓用戶選擇字典和zip的功能!

------改造後的代碼-------

import zipfile
import optarges
from threading import Thread
def extractfile(ZFile,password):
  try:
    zFile.extractall(pwd=password)
    
print [*]Found password:+password+\n except: pass def main(): parse=optparges.OptionsParse(此程序由本少提供%使用方法+ -f<zipfile> -d<xxx.txt>) parser.add_options(dest=zname,type=string, help=specify zip file) parser.add_option(-d,dest=dname,type=string, help=specify dictionary file)) (options,args)=parser.parse_args() if (options.zname=None|options.dname=None) print.usage exit(0) znme=options.zname dname=options.dname Zfile=zipfile.ZipFile(znme) passfile=open(dname) for line in passfile.readlines(): password=line.strip(\n) t=Thread(target=extractfile,args=(Zfile,password)) t.start() if__name__=__main__: main()

成功跑出zip的密碼,媽耶。。。裏面是yellow book in URL!!!!!

技術分享

python寫zip破解器