练手项目
继昨天接着学习,这一次,练手代码是穷举法破解ZIP文件密码。所谓穷举法,就是一个一个的试。
项目代码
此次项目的代码全部在下方
# -*- coding: utf-8 -*-
# @Time : 2017/11/15 12:44
# @Author : Darker
# @Site : www.liangz.org
# @File : zipfiletest.py
# @Software: PyCharm
import zipfile
import threading
def extractFile(zFile,password):
try:
zFile.extractall(pwd=password)
# print(u"密码:" + password)
return password
except:
pass
def main():
zFile = zipfile.ZipFile('crypt.zip')
pwdFile = open('dictionary.txt')
for line in pwdFile.readlines():
password = line.strip('\n')
# t = threading.Thread(target=extractFile, args=(zFile,password)) #此处是多线程的代码,原书自带
# t.start()
guess = extractFile(zFile, password)
if guess:
print(u'密码 : '+ password)
return
else:
print(u"找不到密码")
# return #此处的return如果不注释掉,会出问题
if __name__ == '__main__':
main()
上方的代码,我自己实验的时候有点儿小瑕疵。我实验时选的文件密码是 www.liangz.org
,密码字典文件是:
11111111111
2222222222222
2312312
1235345342
1231442321
retsdasf
www.liangz.org
2ewdaffa
234fsadf
12312312
实验结果为:
也就是说,如果前面密码不对,提示信息会打印出来,当然,你也可以修改代码,不让提示信息打印出来。
注意事项
另外,还有一点需要注意。这是我自己实验这个代码时的教训。
就是自己写的脚本的命名,千万不要与Python的模块名字相同,不然,会出现下方这种情况。
E:\Projects\Python\20171114
λ python zipfile.py
Traceback (most recent call last):
File "zipfile.py", line 41, in <module>
main()
File "zipfile.py", line 22, in main
zFile = zipfile.ZipFile('crypt.zip', 'r')
AttributeError: 'module' object has no attribute 'ZipFile'
我就是因为把自己写的脚本命名成zipfile.py,结果,我上网查找错误,查了半个小时。因为Python有zipfile模块,名字就是zipfile.py。希望能注意
最新评论
我想请问下。您这部署后能够上传附件图片吗?我按照您的方式部署后。能运行。但是无法上传附件,图片。
感谢教程,但是我安装后无法上传附件。图片什么的都上传不了。您这可以吗
你这个能够添加附件图片吗?我怎么无法上传图片附件呢。。
这个软件有bug的,客户端windows有些键不能用如逗号、句号
没有收到邮件通知
我的评论通知貌似坏掉了,定位一下问题
测试一下重新部署后的邮件功能
居然看到自己公司的MIB库,诚惶诚恐