Python暴力破解zip、rar的入门到放弃

在开始写正常的破解之前,我想先问一下,大家查这个问题是想练练Python写代码和调用库还是真想破解点啥。

练练代码直接看文末代码就可以了。

要是想破解的话,只能说we are too young too simple。

网络上目前疯传的解决方式只是针对

压缩文件的传统加密方式的暴力破解

谁加密的时候会手残点这个。让我们破解完

-------------------------------------------------------------------------------------

是时候给你们介绍一下压缩软件了

科学的路上充满荆棘,但也不要企图把精力过多的放在错误的方向上。If you have the way,i am glad you can tell me.

 

 

 

-----------------------------------------------------------------------------------------

import  zipfile

zFile = zipfile.ZipFile("E:/Kevin/Python/TEST/test.ZIP");
print(zFile.namelist())
#zFile.extractall(pwd='123456'.encode('utf-8'))

zipInfo = zFile.getinfo('123.txt')
print ('filename:', zipInfo.filename) #获取文件名称
print ('date_time:', zipInfo.date_time) #获取文件最后修改时间。返回一个包含6个元素的元组:(年, 月, 日, 时, 分, 秒)
print ('compress_type:', zipInfo.compress_type) #压缩类型
print ('comment:', zipInfo.comment) #文档说明
print ('extra:', zipInfo.extra) #扩展项数据
print ('create_system:', zipInfo.create_system) #获取创建该zip文档的系统。
print ('create_version:', zipInfo.create_version) #获取 创建zip文档的PKZIP版本。
print ('extract_version:', zipInfo.extract_version) #获取 解压zip文档所需的PKZIP版本。
print ('extract_version:', zipInfo.reserved) # 预留字段,当前实现总是返回0。
print ('flag_bits:', zipInfo.flag_bits) #zip标志位。
print ('volume:', zipInfo.volume) # 文件头的卷标。
print ('internal_attr:', zipInfo.internal_attr) #内部属性。
print ('external_attr:', zipInfo.external_attr) #外部属性。
print ('header_offset:', zipInfo.header_offset) # 文件头偏移位。
print ('CRC:', zipInfo.CRC) # 未压缩文件的CRC-32。
print ('compress_size:', zipInfo.compress_size) #获取压缩后的大小。
print ('file_size:', zipInfo.file_size) #获取未压缩的文件大小。

passwordfile=open('E:/Kevin/Python/TEST/Dictionary/dictionary.txt')
print(passwordfile)
for line in passwordfile.readlines():   #逐行读取
    password=line.strip('\n')  #去除换行符  
    try:
       zFile.extractall(path='E:/Kevin/Python/TEST/', pwd='123456'.encode('ascii'))
       print('the password is: '+ password)
       break  #读取到正确密码就退出循环
    except Exception as e:   #打印报错
       print(e)

#zFile.extractall(path='E:/Kevin/Python/TEST/',pwd='456789'.encode('ascii'))

若果在我上面的一段话后,你还有耐心看到这里,那么恭喜你,你距离非正常破解密码的路更近了一步,

那是什么呢?请听下回分解。无招胜有招,看你的思路。

我们之所以还可以再进一步,是因为我们站在了巨人的肩膀上,善用软件和工具

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先你需要了解一下zip文件的结构,一个zip文件包含多个文件和目录,其中每个文件或目录都有一个相对路径,路径信息存储在zip文件的中央目录中。中央目录位于zip文件的末尾,记录了每个文件的信息,包括文件名、文件大小、压缩前大小、压缩方式、压缩时间等。 如果你知道了zip文件的密码,可以直接使用Python自带的zipfile库进行解压,示例代码如下: ```python import zipfile zip_file = zipfile.ZipFile('example.zip') # 解压所有文件到指定目录 zip_file.extractall(path='extract_dir', pwd=b'password') ``` 其中,'example.zip'是待解压的zip文件,'extract_dir'是解压后文件的存放目录,b'password'是zip文件的密码。 如果你不知道zip文件的密码,可以使用Python中的字典攻击工具来破解密码。字典攻击工具通常需要准备一个密码字典文件,然后逐一尝试字典中的每个密码,直到找到正确的密码为止。 下面是使用Python中的fcrackzip库进行字典攻击的示例代码: ```python import fcrackzip # 设置字典文件路径 wordlist_path = 'passwords.txt' # 设置zip文件路径 zip_file_path = 'example.zip' # 创建fcrackzip对象 cracker = fcrackzip.FCrackZip() # 设置字典文件路径和zip文件路径 cracker.set_dictionary(wordlist_path) cracker.set_zipfile(zip_file_path) # 开始破解 result = cracker.crack() # 输出破解结果 print(result) ``` 其中,'passwords.txt'是密码字典文件的路径,'example.zip'是待破解的zip文件的路径。fcrackzip库使用的是暴力破解和字典破解两种方式,因此可能会耗费很长时间才能破解成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值