使用easygui+zipfile实现压缩包密码暴力破解
初学python,看到很多人因为压缩包密码头疼,网上搜的软件也都不怎么好用,就做了一个简单实用的的密码暴力破解器,用easugui做的界面,可以实现一些zip文件密码的破解工作,代码写得不规范还请大神轻喷,希望大家多多交流。
import easygui as Eg
import random as r
import zipfile
import time
def speedtest_ds():
time_start = time.time()
i=0
while True:
i+=1
if i>50000000:
break
speed_test=(50000000/(time.time()-time_start)/3200)
speed_result=int(speed_test)
if speed_result <= 500:
level = 'C- 最低级性能⊙﹏⊙'
if 500 <= speed_result < 1000:
level = 'C级 低级性能‘(*>﹏<*)′'
if 1000 <= speed_result < 2000:
level = 'B级 普通级性能 (¯(∞)¯)'
if 2000 <= speed_result < 3000:
level = 'B+ 中阶性能 (=@__@=) '
if 3000 <= speed_result < 4000:
level= 'A级 高阶性能 "≡ (^(OO)^) ≡" '
if 4000 <= speed_result < 5000:
level = 'S级 发烧级性能└(^o^)┘'
if 5000 <= speed_result <= 6000:
level = 'S+级 超级性能(⊙o⊙)'
if speed_result >6000 :
level = 'SSS级 超级计算机 (*@ο@*)'
Eg.msgbox(" 当前计算机性能等级评价: %s \n\n 流处理器单线程运算速度: %d次/S"%(level,speed_result))
return speed_result
def zip_choice():
while True:
choice_use = Eg.buttonbox("欢迎使用ZIP压缩包密码暴力破解器!\n\n"
"本破解器绿色无毒,请放心使用!\n\n"
"支持多开,可成倍增加破解速度\n\n"
"如果您喜欢,请支持我!!! QQ:421736951\n\n"
"开始使用吧~ ≡ (^(OO)^) ≡\n\n"
"在目录中选择zip压缩包文件,或进行性能测试~", 'ZIP压缩包密码暴力破解器V1.0', ['选择目录', '性能测试'])
if choice_use == '性能测试':
speedtest_ds()
elif choice_use == '选择目录':
global path_way
path_way = zip_file_open()
if path_way:
return True
else:
return False
def zip_file_open():
while True:
try:
msg = '选择目录中的zip压缩包'
default = r'C:/'
full_file_path = Eg.fileopenbox(msg, default)
zip_open = zipfile.ZipFile(str(full_file_path))
return full_file_path
except:
if full_file_path != None:
Eg.msgbox("文件格式不正确!请重新输入")
else:
return False
def zip_msg_enter():
msg = '请输入密码信息:'
title = ' ZIP压缩文件暴力破解器'
msg_num = '①.破解密码种子(可能包含的字母和数字,勿重复输入):'
msg_start = '②.破解密码起始位数(支持1-12位):'
while True:
try:
crack = Eg.multpasswordbox(msg, title,(msg_num ,msg_start))
if crack[0]:
if 0 < int(crack[1]) <= 12:
return crack
else:
Eg.msgbox("解码范围只支持1-12位 ,请重新输入!")
else:
Eg.msgbox("输入不能为空 ,请重新输入!")
except:
if crack:
Eg.msgbox("只能输入数字或字符,请重新输入!")
else:
break
def choice_exp():
zip_msg = zip_msg_enter()
seed_number= zip_msg[0]
base_number = len(zip_msg[0])
index_number = int(zip_msg[1])
crack_exp = base_number ** index_number
speed=speedtest_ds()
ready=Eg.buttonbox("根据您的计算机性能,本次破解预计进行%s次,耗时估约%s秒\n\n"
"确定要进行破解吗?"%(crack_exp,crack_exp/int(speed)),
'ZIP压缩包密码暴力破解器',['重新选择','确定'])
if ready == '确定':
times = 0
Crack_FLAG = 0
time_start = time.time()
zF = zipfile.ZipFile(path_way)
while True:
sa = []
for i in range(index_number):
sa.append(r.choice(seed_number))
salt = "".join(sa)
times += 1
try:
zF.extractall(pwd=salt.encode("ascii"))
Crack_FLAG=1
except:
if times%10000==0:
print("正在进行第 %d 次破解\r"%times)
if times > (3*(base_number ** index_number)):
Crack_FLAG=2
if Crack_FLAG ==1:
time_used = int(time.time() - time_start)
Eg.msgbox('CONGRUTUTIONS!破解成功!\n\n'
'密码:%s\n\n'
'耗时:%d秒\n\n'
'平均破解速度:%d/s'
'尝试破解次数:%s次\n\n' % (salt, time_used, times / time_used, times),'CRACK_SUCCESS','确定')
break
if Crack_FLAG==2:
repeat = Eg.buttonbox('破解失败!密码很可能不为 %d 位!\n\n'
'或输入的密码种子缺少字符!\n\n'
'请重新输入或增加1位数继续破解!\n\n' % int(index_number),
'CRACK_ERROR',['重新输入', '加位继续破解'])
if repeat == '加位继续破解':
index_number+=1
Crack_FLAG = 0
else:
break
def main():
while True:
if zip_choice():
Eg.msgbox("文件导入成功!")
choice_exp()
else:
break
if __name__ == '__main__':
main()
- Python zipfile 简单使用(暴力破解)
- 防止暴力破解Windows8系统密码(使用图片密码登录功能)
- zip压缩包密码破解
- 忘记ftp密码使用python ftplib库暴力破解密码的方法示例
- linux暴力密码破解工具hydra安装与使用
- mac下密码加密zip,暴力破解zip,生成密钥字典
- linux暴力密码破解工具hydra安装与使用
- python暴力破解zip密码文件
- Debian vps使用DenyHosts防止SSH密码暴力破解
- 使用 fail2ban 防止暴力破解 ssh 及 vsftpd 密码
- 密码分析学策略之带字典的暴力破解的几个思考与算法实现
- 利用denyhosts轻松实现,sshd和ftp暴力密码破解防御
- 暴力破解密码模拟程序,模拟暴力破译密码实现程序代码
- 利用denyhosts轻松实现,sshd和ftp暴力密码破解防御
- CUDA—使用GPU暴力破解密码
- 仿射密码加解密及暴力破解c++实现
- Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
- 看斯坦福教授如何使用Python暴力破解WIFI密码!还怕没流量?
- linux实现ssh密码暴力破解
- 使用ORABF暴力破解用户密码