python多线程破解压缩包_python利用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
注意:当前脚本在知道密码长度大概范围,可能涉及的字符具体范围下效率可行;如果对密码长度和涉及字符完全不知,撞库难度非常大
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
python多线程破解压缩包_python利用itertools生成密码字典并多线程撞库破解rar密码...相关推荐
- python pandas excel数据处理_Python利用pandas处理Excel数据的应用
python如何将列表导出为csv文件 import pandas as pd list=[[1,2,3],[4,5,6],[7,8,9]] column=['column1','column2',' ...
- python 多帧 超分辨_利用python-opencv生成视频帧数控制,和常见错误总结
首先呢 利用opencv生成视频的例子相信网络上已经很多了.但是大多数例子都只是捕获一个摄像头就没了.但是在实际运用中会发现.因为涉及到图像处理,生成的视频要不就就是过快要不就是比实际时间长. 控制视 ...
- 使用python hashlib模块给明文字符串加密,以及如何撞库破解密码
文章目录: 1 hashlib介绍 2 hashlib模块使用 2.1 查看hashlib中有哪些hash算法 2.2 对字符串进行加密 2.3 对于数据比较大,加密可以分块,结果一样 2.4 has ...
- python生成20个随机数列表_Python利用random生成一个列表内的随机数
首先,需要导入random模块:import random 随机取1-33之间的1个随机数,可能重复:random.choice(range(1,34)) print得到一系列随机数,执行一次得到一个 ...
- python rsa 公钥解密_python利用rsa库做公钥解密的方法教程
前言 对于RSA的解密,即密文的数字的 D 次方求mod N 即可,即密文和自己做 D 次乘法,再对结果除以 N 求余数即可得到明文.D 和 N 的组合就是私钥(private key). 算法的加密 ...
- python 英文关键词提取_python 利用jieba.analyse进行 关键词提取
1.简单应用 代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- # @File : jieba.analyse.py # @Author: 赵路仓 ...
- python numpy 子数组_Python利用Numpy数组进行数据处理(一)
Numpy数组使你可以将许多种数据处理任务表达为简洁的数组表达式(否则需要编写循环).用数组表达式代替循环的做法,通常被称为矢量化. np.meshgrid函数接受两个一维数组,并产生两个二维矩阵(对 ...
- python opencv 录制视频_Python利用opencv实现录制视频
import cv2 import threading #python 多线程操作库 class RecordingThread(threading.Thread): def __init__( ...
- python概率随机抽奖_Python利用带权重随机数解决抽奖和游戏爆装备
关于带权随机数 为了帮助理解,先来看三类随机问题的对比: 1.已有n条记录,从中选取m条记录,选取出来的记录前后顺序不管. 实现思路:按行遍历所有记录,约隔n/m条取一个数据即可 2.在1类情况下,还 ...
- python绘制表格界面_python 读取 excel 生成 html 页面
前言 有天老板找我到办公室跟我说要做一个商城,商城卖出去东西就有佣金可以拿.我听着就头大.老板打开电脑给我看了网站:你看一下这个网站,照着它的流程就可以拥有一个商城了.我靠过去一看,大概了解一下:原来 ...
最新文章
- 【Ubuntu】Ubuntu下的录频软件SimpleScreenRecorder
- RF-LIO:面向高动态场景的紧耦合LiDAR惯导融合里程计(IROS 2021)
- 【PHPExcel】设置打印格式
- python 多分类 recall_python实现二分类和多分类的ROC曲线教程
- stm8s串口奇偶校验学习笔记
- boost::io::ostream_joiner和boost::io::make_ostream_joiner用法的测试程序
- 如何使用 Python 将图片变为字符的模样
- oracle 11g rac impdp,RAC创建DBlink并使用impdp抽取源库数据
- 8月23号,来上海整整一年
- java web教程下载_Java Web云应用开发项目式教程 中文pdf扫描版[208MB]
- 小作业-drawline换成drawrectangle和fillRectangle
- 数据库系统---数据挖掘
- (web前端每日一练)用JavaScript制作一个跟随鼠标的小球炫彩动画 /doge/doge
- 裸辞后破釜沉舟三个月,拿到SSP!
- 服务器不能使用无线键盘,无线键盘突然没反应怎么回事_无线键盘没反应的解决方法...
- c#的特性(Attribute、Obsolete、Conditional)
- 基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.9.0版)
- excel中文件合并F9键
- User-Agent 大全
- react native 调用手机内置地图