Language/Python

[Python] Zip Cracker

Dexter_- 2018. 4. 9. 10:31
728x90
반응형

 

 

 

 

Zip Cracker Source

import zipfile
from threading import Thread
import optparse

def Extract_File(zFile, password):
    try:
        zFile.extractall(pwd=password)
        print("Found Password is ....:" + password + "\n")

    except Exception, e:
        pass

def main():
    parser = optparse.OptionParser(usage="%prog " + "-f <zipfile> -d <dictionary>")
    parser.add_option("-f", dest="zname", type="string", help="Specify Zip File")
    parser.add_option("-d", dest="dname", type="string", help="Specify Dictionary Name")
    (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, "r")

	print("Extraction Start --------------- \n")

	for line in passfile.readlines():
		password = line.strip("\n")
		t = Thread(target=Extract_File, args=(zFile, password))
		t.start()

if __name__ == '__main__':
	main()

 

 

실행 명령 및 옵션 :

.\ZipCracker.py -f .\Test.zip -d.\dictionary.txt

 

설명 :

dictionary.txt 에 입력된 비밀번호 목록을Test.zip 비밀번호에 대입하여 암호를 매칭하여 압축을 해제하는 방식.

 

 

728x90
반응형