如何使用Python破解ZIP压缩文件密码

如何使用Python破解ZIP压缩文件密码

如何使用Python破解ZIP压缩文件密码

  ZIP文件格式是一种常见的存档和压缩标准。它用于压缩文件。有时,压缩文件是保密的,所有者不想让每个人都可以访问。因此,zip 文件受密码保护。如果密码很常见,那么它很容易被破解。在这里,我们将使用python暴力方法来破解 zip 文件的密码。

如何使用Python破解ZIP压缩文件密码
如何使用Python破解ZIP压缩文件密码

  在本文中,我们将看到一个 Python 程序,晓得博客为你介绍如何使用Python破解ZIP压缩文件密码。

  推荐:11个流行的Python存储库

Python破解ZIP压缩文件密码方法

  暴力方法是使用一组预定义值来破解密码直到成功的方法。这是一种“命中和尝试”方法。如果值集很高,这种方法可能需要很长时间,但它的成功率很高。值的数量越多,破解密码的机会就越大。在这里,我们将使用大小为 133 MB 的“rockyou”文本文件和超过 1400 万组密码来尝试。在此处下载文本文件。

  • 首先,导入zipfile模块。
  • 初始化 ZipFile 对象,这有助于提取 zip 文件的内容。
  • 计算“rockyou.txt”文件中出现的单词数并将其显示在终端上。
  • 调用“crack_password”函数,如果找到密码则返回true,否则返回false。将文本文件的名称和 ZipFile 对象作为参数传递。
  • idx 变量用于跟踪行号。
  • 以“rb”模式打开文本文件“rockyou.txt”,以二进制形式处理文件内容。这是因为文件包含一些特殊符号,如果文件以“r”模式打开,则无法处理这些特殊符号,并会生成UnicodeDecodeError
  • 打开文件后,从文件中提取该行,然后从中拆分单词。
  • 在 try 块中,通过将密码提供给 extractall 方法的 pwd 字段来提取 zip 文件的内容。extractall()方法会将 zip 文件的所有内容提取到当前工作目录。上面的程序在与这个python脚本相同的目录中提取了一个名为“gfg.zip”的zip文件。
  • 如果密码不正确,则会产生异常。在 except 块中,继续循环以检查文件中的其他单词。
  • 如果找到密码返回真否则最后返回假并显示所需的消息。

  下面是完整的实现:

如何使用Python破解ZIP压缩文件密码
如何使用Python破解ZIP压缩文件密码
import zipfile


def crack_password(password_list, obj):
	# tracking line no. at which password is found
	idx = 0

	# open file in read byte mode only as "rockyou.txt"
	# file contains some special characters and hence
	# UnicodeDecodeError will be generated
	with open(password_list, 'rb') as file:
		for line in file:
			for word in line.split():
				try:
					idx += 1
					obj.extractall(pwd=word)
					print("Password found at line", idx)
					print("Password is", word.decode())
					return True
				except:
					continue
	return False


password_list = "rockyou.txt"

zip_file = "gfg.zip"

# ZipFile object initialised
obj = zipfile.ZipFile(zip_file)

# count of number of words present in file
cnt = len(list(open(password_list, "rb")))

print("There are total", cnt,
	"number of passwords to test")

if crack_password(password_list, obj) == False:
	print("Password not found in this file")

  推荐:使用Python从网页中提取所有URL

  输出:

There are total 14344391 number of passwords to test
Password found at line 27
Password is chocolate

总结

  以上是晓得博客为你介绍的如何使用Python破解ZIP压缩文件密码的全部内容,希望对你的Python学习有帮助,如有问题,可留言探讨。

   推荐:零基础如何开始学习Python

给文章评分

ThemeForest 模板套件
可视化创建WordPress网站

2人评论了“如何使用Python破解ZIP压缩文件密码”

  1. 看了你的文章,觉得非常不错

    想与贵站互相友情链接

    建站教程网-http://nizhidaole.cn

    如果同意的话,回复一下后互相上链接!

    名称:建站经验网 本站网址: http://nizhidaole.cn/

    本站描述: | 新老站长都喜欢的技术性优秀网站!.

发表评论

您的电子邮箱地址不会被公开。

Scroll to Top