利用itertools生成密码字典,多线程撞库破解rar压缩文件密码
脚本功能:
利用itertools生成密码字典(迭代器形式)
多线程并发从密码字典中取出密码进行验证
验证成功后把密码写入文件中保存
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# Author:Leslie-x
import itertools as its
import threading
import rarfile
import os words = '0123456789abcdefghijklmnopqrstuvwxyz' # 涉及到生成密码的参数 flag = True # 是否关闭线程的标志 def append_on_file(password,file_name):
# 把解析出的密码写入到文件中
with open('password.txt', 'a', encoding='utf8') as f:
text = file_name+':'+password + '\n'
f.write(text) def get_password(min_digits, max_digits, words):
"""
:param min_digits: 密码最小长度
:param max_digits: 密码最大长度
:param words: 密码可能涉及的字符
:return: 密码生成器
"""
while min_digits <= max_digits:
pwds = its.product(words, repeat=min_digits)
for pwd in pwds:
yield ''.join(pwd)
min_digits += 1 def extract(File,file_name):
"""
若线程关闭标志为True,就执行循环,从密码生成器中取出密码,验证密码是否正确
密码正确,则把密码写入文件中,并将线程关闭标志flag设定为False,通知其他线程关闭
"""
global flag
while flag:
p = next(passwords)
try:
File.extractall(pwd=p) # 打开压缩文件,提供密码...
flag = False
print("password is " + p) ###破解到密码
append_on_file(p,file_name)
break
except:
print(p) def mainStep(file_path,file_name):
"""
多线程并发验证密码
:param file_path: rar压缩文件路径列表
:return:
"""
file = rarfile.RarFile(file_path)
for pwd in range(3):
t = threading.Thread(target=extract, args=(file,file_name))
t.start() if __name__ == '__main__':
# 主程序
base_dir = r'E:\迅雷下载\rar'
for file_info in os.listdir(base_dir):
try:
# 拼接压缩文件路径
file_path = os.path.join(base_dir, file_info)
# 压缩文件名称
file_name = file_info.split('.')[0]
# 生成密码字典:密码长度最小为4,最大为11
passwords = get_password(4, 11, words)
# 将任务分发给线程执行
mainStep(file_path,file_name)
except:
pass
注意:当前脚本在知道密码长度大概范围,可能涉及的字符具体范围下效率可行;如果对密码长度和涉及字符完全不知,撞库难度非常大
利用itertools生成密码字典,多线程撞库破解rar压缩文件密码的更多相关文章
- mac电脑下使用fcrackzip破解zip压缩文件密码
fcrackzip简介 fcrackzip是一款专门破解zip类型压缩文件密码的工具,工具小巧方便.破解速度快,能使用字典和指定字符集破解,适用于linux.mac osx 系统 fcrackzip安 ...
- zip、rar压缩文件密码破解——使用ARCHPR Professional Edition
直链下载地址: https://pan.abn.cc/weiyun/down.php?u=82441366e3c1f43fc69210e8ece93470.undefined.zip (压缩包内含解压 ...
- 破解ZIP加密文件密码fcrackzip
破解ZIP加密文件密码fcrackzip ZIP是最常见的文件压缩方式.由于其压缩算法开源,主流操作系统都支持这种压缩算法.ZIP压缩方式支持密码加密.加密的时候会在文件头部保存密钥相关信息.利用这个 ...
- 破解压缩文件密码rarcrack
破解压缩文件密码rarcrack 常见的压缩文件格式有ZIP.RAR和7z.这三种格式都支持使用密码进行加密压缩.前面讲过破解ZIP压缩文件,可以使用fcrackzip.对于RAR和7z格式,可以 ...
- 利用CMake生成动态或静态链接库工程
install解释: TARGETS版本的install命令 install(TARGETS targets... [EXPORT <export-name>] [[ARCHIVE|LIB ...
- 利用python暴力破解压缩文件密码
import randomimport sysimport zipfileimport timefrom threading import Threadfrom multiprocessing imp ...
- Python真牛逼,获取压缩文件密码,我只要一分钟!
事情的经过是这样的: 又是奶茶,行吧行吧. 快点开工,争取李大伟回来之前搞定. 李大伟说是6位数字密码 那么我们可以利用python生成全部的六位数字密码 这样,我们就生成了一个从000000到999 ...
- centos破解压缩文件密码
rarcrack是linux系统端的一款破解加密压缩包的工具,rarcrack使用的穷举法进行破解已经加密的rar.zip和7z压缩包,支持设置多线程,和文件类型进行破解. 1.rarcrack下载页 ...
- 利用pyinstaller生成exe之后,运行不能正常产生结果文件问题记录
https://segmentfault.com/q/1010000011284617/a-1020000011493026 在此链接已解决问题,现在在这里在详细记录一次 问题描述: 利用pychar ...
随机推荐
- PAT甲题题解-1046. Shortest Distance (20)-做了一个假的最短路,水
一开始以为是最短路,结果是给你一个环,让你求环上两点之间的距离...那还做毛线 然而还是得做毛线 #include <iostream> #include <cstdio> # ...
- io整理
http://www.cnblogs.com/rollenholt/archive/2011/09/11/2173787.html
- Leetcode题库——49.字母异位词分组【##】
@author: ZZQ @software: PyCharm @file: leetcode49_groupAnagrams.py @time: 2018/11/19 13:18 要求:给定一个字符 ...
- Struts2中 radio标签的详细使用方法
首先在页面中引入struts标签库: <%@ taglib prefix="s" uri="/struts-tags"%> 在JSP页面中创建单选按 ...
- C# 7中函数多值返回_转自InfoQ
本文要点 应遵循<.NET设计规范:.NET约定惯用法与模式>一书.和十年前第一版出版时一样,书中给出的原则在当前依然有指导意义. API设计是最重要的.设计不好的API会在极大地增加软件 ...
- 单片机内程序运行的时候ram空间是如何分配的?
转自:http://blog.sina.com.cn/s/blog_a575eb9401014tam.html 单片机内程序运行的时候ram空间是如何分配的?我现对一个程序进行减少片内ram的使用的优 ...
- Alpha冲刺-第三天
1.1 今日完成任务情况以及遇到的问题. 完成任务情况 杜世康:使用正则表达式对于弹幕文本中的数字,字母,符号,非法字符等过滤. 刘丹,李玉莹:实现主播管理功能 曹莹雯,尹楠: 调用NLPIR/ICT ...
- [转帖][Bash Shell] Shell学习笔记
[Bash Shell] Shell学习笔记 http://www.cnblogs.com/maybe2030/p/5022595.html 阅读目录 编译型语言 解释型语言 5.1 作为可执行程序 ...
- CentOS下部署Jupyter
目录 安装 配置 准备密码密文 生成配置文件 修改配置 启动 参考:在服务器搭建Jupyter notebook 安装 为了环境比较轻,使用pip安装,非Anaconda: # 创建Python虚拟环 ...
- sqlserver2017安装及连接过程中发现的问题
1.SSMS安装报错,如下图 根据搜索资料发现是防火墙的问题,关闭防火墙就行了. 2.连接用户时报错 这个是因为远程连接相关问题. 首先打开服务器远程连接: 其次点击: SqlServer配置管理器- ...