暴力破解zip文件密码

article/2025/11/6 8:41:04

先是用python写了一个,原理网上都有,我加了个界面,方便使用,同目录下放个pwd.txt,里面是密码列表,可以网上下载一些,或自己生成一个。

import zipfile
from threading import Thread
from tkinter import *
from tkinter import filedialog
from tkinter import ttkdef extractfile(zFile,password):# noinspection PyBroadExceptiontry:global flagzFile.extractall(pwd=password.encode("utf=8"))print("password="+password)lb2.config(text="密码:"+password)flag=Trueexcept Exception as e:passdef fn(zipPath,pwdPath):zFile = zipfile.ZipFile(zipPath)passFile = open(pwdPath)n=0lines=passFile.readlines()passFile.close()num=len(lines)print(num)for line in lines:password = line.strip('\n')t = Thread(target=extractfile(zFile , password))t.start()n+=1if(n%1000==0):pb.config(value=n*100/num)window.update()if(flag):pb.config(value=100)breakzFile.close()if(not(flag)):pb.config(value=100)lb2.config(text="密码未找到")def selectZIP():global  myfilepathglobal flagflag=Falsemyfilepath=filedialog.askopenfilename()if len(myfilepath)>0:lb.config(text=myfilepath)lb2.config(text="密码:")def getPwd():global myfilepathfn(myfilepath,"pwd.txt")global myfilepathglobal flag
flag=Falseglobal mynummynum=0window=Tk()
window.title('hackZip')
window.geometry('300x200')
window.resizable(0, 0)btn1=Button(window,text="选择zip",command=selectZIP)
btn1.place(x=200,y=30)btn1=Button(window,text="暴力破解",command=getPwd)
btn1.place(x=200,y=60)lb=Label(window,text='..')
lb.place(x=20,y=10)lb2=Label(window,text='密码:')
lb2.place(x=20,y=100)pb = ttk.Progressbar(window, length = 280, value=0, mode = "determinate")
pb.place(x=10,y=130)window.mainloop()

这样就是在密码本里一个个密码试,知道找到正确密码为之。

想着用显卡来加速,找到了一个hashcat的软件,不怎么会用,有一些问题。

后来找到个johntheripper,同样也能破解zip

https://www.openwall.com/john/

下载下来

进cmd,进入文件夹run下面, 如要破解的是d:\test1.zip文件,同过命令 zip2john d:\test1.zip >hash 得到一个叫hash的文件

下面破解,输入john hash

用了9秒

破解出来密码是11223344

同时也支持用自己的密码本破解

命令如 john -w=d:\pwd.txt hash

已经破解过的可以通过 john --show hash 显示密码

 

 


http://chatgpt.dhexx.cn/article/WGFbCsMq.shtml

相关文章

压缩包 zip RAR 7z 密码破解常用的几种方法

01.Zip属性隐藏 我们先从最简单的开始讲起,可能很多人没有去注意文件属性一栏,往往有时候,加密者会把密码放在属性里面,例如下图: 我们可以看到,这个Zip压缩文件的密码就是www.cnblogs.com了~ 02.Zip伪加…

压缩包密码破解器

可以自定义密码进行破解,也就是说你的字典足够大,密码一定是可以被破解的,16G密码本和密码生成器私信发送哦! 按惯例,上代码 1、导入对应模块 2、 画界面 3、逻辑代码 附完整代码 import os import tkinter import …

密码--暴力破解

1.海德拉(Hydra) hydra 是世界顶级密码暴力密码破解工具,支持几乎所有协议的在线密码破解,功能强大,其密码能否被破解关键取决 于破解字典是否足够强大,在网络安全渗透过程中是一款必备的测试工具。 破…

使用E-mailCrack破解邮箱密码案例

使用E-mailCrack破解邮箱密码案例 在无法直接进行***时,邮件******以及邮箱账号破解***无疑是一种最佳选择。邮件******成功有两个必要条件:一是***不被查杀,二是用户打开邮件并执行了隐藏在邮件中的***程序。邮件******随着网民对网络安全意…

如何防止自己的云服务器被暴力破解密码(限制暴力破解并发送邮件到自己的邮箱)

如何防止自己的云服务器被暴力破解密码(限制暴力破解并发送邮件到自己的邮箱) 今天看到自己的阿里云服务器被别有用心的人gank一波,于是才想到得设置一套完美的防火墙策略了 首先黑客登录失败的日志为/var/log/btmp* 我们可以看到之前暴力破解未登录成功的IP 既然…

Foxmail 本地邮箱密码破解思路方法分享

本文主要以POP3为例讲解, 其他邮件协议可以参考思路, 自行尝试解决。 最近发生了一件比较尴尬的事, 公司邮箱密码忘记了, 又不想麻烦IT部门更改, 就想尝试下自己破解下本地的密码。 (反正密码已经以加密形式…

Java中IO流基本介绍(5)——InputStreamReader和OutputStreamWriter

1 基本概括 2 主要介绍 2.1 InputStreamReader/OutputStreamWriter 相比FileReader和FileWriter的优势 前者可以指定读取和写出的编码,不容易出现乱码。 2.2 转换流的作用 1. 如果目前所 获取到的是一个字节流需要转换字符流使用,这时候就可以使用转换…

IO流——InputStreamReader 和 OutputStreamWriter

本次博客来学习IO流中的转换流——InputStreamReader 和 OutputStreamWriter。 InputStreamReader 和 OutputStreamWriter InputStreamReader:Reader的子类,可以将InputStream(字节流)包装成Reader(字符流)。 OutputStreamWriter:Writer的子…

OutputStreamWriter类

1、概述 转换流 java.io.OutputStreamWriter,是Writer的子类,是从字符流到字节流的桥梁。 它使用指定的字符集将字符编码为字节。它的字符集可以由名称指定,也可以接受平台的默认字符集。 2、继承父类的共性成员方法 该类继承 Writer 类&…

转换流OutputStreamWriter

1、转换流–OutputStreamWriter简介 : OutputStreamWriter extends Writer, 转换流也是继承自超类Writer,因此可以使用Writer中的共性方法:write(int c),write(char[] ch),…,flash(),close(),… OutputStreamWriter常用的构造方法: 1&…

详解OutputStreamWriter与InputStreamReader

1.转换流原理 2. OutputStreamWriter java.io.OutputStreamWriter extends Writer OutputStreamWriter:是字符流通向字节流的桥梁;可使用指定的charset将要写入流中的字符编码成字节。(编码:把能看懂的变成看不懂) 2.1 继承自父…

Java IO体系之OutputStreamWriter

介绍 字符输出流Writer 的实现类 继承关系图 样例 public static void main(String[] args) throws IOException{//创建字节输出流,绑定数据文件(没有则创建)FileOutputStream fosnew FileOutputStream("D:\\HELLO.txt");// 创建…

streamwriter java_Java OutputStreamWriter 类

Java OutputStreamWriter 类 在本教程中,我们将借助示例学习Java OutputStreamWriter及其方法。 java.io包的OutputStreamWriter类可用于将字符形式的数据转换为字节形式的数据。 它继承了抽象类Writer。 OutputStreamWriter类可与其他输出流一起使用。 它也被称为字…

40OutputStreamWriter

写的转换流,写我们相要写的编码文件 java.io.OutputStreamWriter etends Writer InputStreamReader是字节流通向字符流的桥梁,它使用指定的Charset 将要写入流中的字符编码成字节。(编码:把能看懂的变成看不懂的) 继承…

Java IO 学习总结(五)OutputStreamWriter

Java IO 学习总结(一)输入流/输出流 Java IO 学习总结(二)File 类 Java IO 学习总结(三)BufferedInputStream Java IO 学习总结(四)BufferedReader 缓冲字符流 Java IO 学习总结&…

IO流(学习Java第24天)(转换流OutputStreamWriter、转换流InputStreamReader、字符流便捷类)

目录 一、转换流OutputStreamWriter 二.转换流InputStreamReader 三.字符流便捷类 一、转换流OutputStreamWriter java.io.OutputStreamwriter类,继承Writer类,他是字符输出流,只能操作文本文件,不能操作其他类型文件。Output…

Java IO流学习总结五:转换流-InputStreamReader、OutputStreamWriter

类的继承关系 Reader |__ BufferedReader、StringReader、InputStreamReader|__ FileReaderWriter |__ BufferedWriter、StringWriter、OutputStreamWriter|__ FileWriter InputStreamReader 简介 InputStreamReader 是字符流 Reader 的子类,是字节流通向字符流的桥梁。你…

mysql判断是否存在索引并删除_mysql判断索引存在时删除索引的方法_MySQL

bitsCN.com mysql判断索引存在时删除索引的方法 mysql的drop index语句不支持if exists条件,在sql中先删除索引, 再创建索引,如果对于新建的数据库,库中没有该索引,就会报错, 导致后面的sql不再执行。 因此…

Oracle索引详解(索引的原理,创建索引,删除索引,修改索引等)

Oracle索引详解 一.索引概述 Oracle作为关系型数据库,用户查找数据与行的物理位置无关,表中的每一行均用一个ROWID来标识,当Oracle数据库中存储海量的记录时,就意味着有大量的ROWID标识,那么Oracle如何能快速找到指定…

es批量删除索引

es批量删除索引 ES/DSL语句删除索引中的文档,以时间为过滤条件 执行时如图所示: 请求:sgl_zc_termina_exhaust_20200924/_delete_by_query post DSL风格的语句: { “query”: { “bool”: { “must”: [{ “range”: { “collectTime”: { “gt”: “1616342400000”, “lt”…