Friday, April 8, 2016

[python] zipfile cracker

import zipfile
import optparse
from threading import Thread
def extractFile(zFile, password):
    try:
        zFile.extractall(pwd=password.encode())
        print ('[+] Found Password :'+password+ '\n')
    except Exception as e:
        print ('[-] Error = '+str(e)+ '\n')
        pass

def main():
    parser = optparse.OptionParser("usage%prog " + "-f -d ")
    parser.add_option('-f', 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 (parser.usage)
        exit(0)
    else:
        zname = options.zname
        dname = options.dname
    zFile = zipfile.ZipFile(zname)
    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()

'''
python zipfile_crack.py -f testfile.zip -d dictionary.txt
'''

No comments: