python zip文件密码爆破
#!/usr/bin/env
# coding=UTF-8
import zipfile
import threading
import os
import sys
class CrackZip:
def __init__(self):
self._result = None
def run(self,zFile,password):
try:
zFile.extractall(pwd=password)
print("Found Passwd:",password)
print('Password=',password)
self._result=password
except:
pass
def getPass(self):
return self._result def checkFile(path):
flag=False
if not os.path.isfile(path):
flag=False
print('[-] %s文件不存在',path)
return flag
def main():
cz=CrackZip()
if len(sys.argv)>=3:
zipPath=sys.argv[1]
dictionaryPath=sys.argv[2]
flag=(len(sys.argv)>3 and sys.argv[3]=='-t')
typeName=None
if not checkFile(dictionaryPath):
if dictionaryPath[-3:]!='txt':
print('字典不是txt文件')
return
if not checkFile(zipPath):
if zipPath[-3:]!='zip':
print('只能爆破zip文件')
return
zFile=zipfile.ZipFile('test.zip','r')
passFile=open(dictionaryPath,'r')
for line in passFile.readlines():
password=line.strip('\n').encode('utf-8')
if flag:
False
t=threading.Thread(target=cz.run,args=(zFile,password))
t.start()
else:
cz.run(zFile,password)
password=cz.getPass()
typeName='SingleThread'
if password:
return
if typeName=='SingleThread':
print("字典里找不到密码")
else:
print('命令不正确,格式为:python zip.py zipPath dictionaryPath')
return
if __name__=='__main__':
main()
遇到了以下问题:
1. 字典里获取出来的字符需要编码(utf-8)才能被extractall识别
2. 开启线程爆破后如何检测所有线程执行完毕?(提示爆破失败)
python zip文件密码爆破的更多相关文章
- 【Python】zip文件密码破解
掌握基础语法后,尝试使用python的zipfile模块练手. zipfile是Python里用来做zip格式编码的压缩和解压缩的. 这里将大体的思路分解成四段代码,逐一完善功能: 第一段代码:解压z ...
- 暴力破解ZIP文件密码
Python 的标准库提供了 ZIP 文件的提取压缩模块 zipfile,现在让我们试着用这个模块,暴力破解出加密的 ZIP 文件!我们可以用 extractall()这个函数抽取文件,密码正确则返回 ...
- 【pyhon】黑客用字典暴力破解Zip文件密码原理性展示
基本原理:用程序把字典文件里拟定好的密码一个个提取出来,去测试zip能否打开 字典文件pass.txt内容: 1224 2121 asdf abcd1234 dwsdsd dssds 程序代码: # ...
- python zip文件压缩和解压
压缩 import shutil zipOutputName = "1234" # 输出1234.zip fileType = "zip" # 文件类型zip ...
- 有个计算机专业的学妹问我:我这个zip文件密码破解运行起来为什么内存爆了?
1.这篇博文的由来 2.跑下错误代码,找病根 先把学妹发给我的错误代码放上,能发现他为了提高速度加了多线程的代码,很聪明哦: import zipfile import itertools from ...
- 用Python写一个zip文件的密码破解程序
最近在读<python绝技:运用python成为顶级黑客>一书,文中有如何运用Python中zipfile自带的方法破解zip文件.短短的十几行代码就将一个程序实现了.下面给出书中所用的代 ...
- Python实现加密的ZIP文件解压(密码已知)
博主在上篇博文介绍了<Python实现加密的RAR文件解压(密码已知)>后,又尝试了ZIP文件的解压方法,下面开始分享. 当ZIP文件的压缩密码已知时,可以通过调用zipfile库进行解压 ...
- Python与Hack之Zip文件口令破解
1.需要的库: **import zipfile**import optparse**from threading import Thread(1)zipfile:1.1 zipfile.ZipFil ...
- Python 破解带密码保护的Zip文件
今天发生了个有趣的事情,有个朋友发了一个带密码保护的Zip文件给我,却不给我密码,我就琢磨这怎么可以'猜'到密码呢? 经过一系列的尝试,最终使用python把这个密码给'猜'出来了.要想写出破解密码的 ...
随机推荐
- Pycharm常用快捷键(后期慢慢补充)
用到一个,就补充一个,慢慢来,找到自己常用的快捷键. CTRL /: 注释.取消注释行 CTRL Q: 在参数列表位置,显示可以输入的所有参数. #查看参数的详细信息
- PHP之路——验证码实现
验证码生成并保存到session <?php //开始session session_start(); //画布大小 $image = imagecreate(100, 40); $color ...
- 1、vs2012 mvc3项目ObjectContext类找不到的问题
在vs2012下找不到ObjectContext类,取而代之的是DBContext,实体对象的Attach方法,上下文的ObjectStateManager对象都找不到,解决办法: 在设计视图中打开E ...
- 用extern关键字使程序更加清晰
一.基础研究 之前基于tcc.tlink实现一个新的编译连接工具cc.exe,用到的文件有cs.lib.c0s.obj.main.obj,其中main.obj是我们自己加入的文件,它可以实现开始显示彩 ...
- 【模拟】Codeforces 706A Beru-taxi
题目链接: http://codeforces.com/problemset/problem/706/A 题目大意: 家的坐标在sx,sy,有n辆车,每辆车坐标xi,yi,速度vi,问最快的一辆车什么 ...
- Number of Islands——LeetCode
Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surro ...
- Android中bitmap的相关处理
加载大图片 Options options=new Options(); options.inJustDecodeBounds=true;//不加载图片,只加载文件信息 //加载图片,获取到配置信息 ...
- C++ STL之pair常用指令
只记载本人在ACM中常用的函数. pair<first, second>,将两个数据组合成一个数据.在其他stl(如map),函数需要传回两个值时可能会用到. 1.初始化 #include ...
- [Protractor] Testing With Protractor Page Objects
Protractor Page Objects are a recommended for testing your AngularJS applications. Page Objects abst ...
- 深入理解ob_flush和flush的区别(转)
ob_flush/flush在手册中的描述, 都是刷新输出缓冲区, 并且还需要配套使用, 所以会导致很多人迷惑… 其实, 他们俩的操作对象不同, 有些情况下, flush根本不做什么事情.. ob_* ...