梦江南 发表于 2020-9-9 23:30

python暴力获取rar压缩密码

本帖最后由 梦江南 于 2020-9-9 23:33 编辑

利用python暴力获取rar压缩密码
准备工作:先在命令提示符输入pip install unrar,安装好后在http://www.rarlab.com/rar/UnRARDLL.exe或者在https://www.lanzoux.com/b01hlwsdi密码:k9GU下载UnRAR.dll。然后打开环境变量,有用户变量和系统变量,在系统变量下新建下面的变量:变量名:UNRAR_LIB_PATH变量值:UnRAR.dll所在路径。
一、不生成密码本:
下面是4位全数字密码:
import time
from unrar import rarfile
def readpassword():
    for i in range(10000):
      myStr=str(i).zfill(4)#生成4位全数字密码
      try:
            file.extractall(path='52pojie',pwd=myStr)#解压到当前py文件所在目录下的52pojie文件夹内,修改path可自定义解压路径
      except:
            print('密码错误:',myStr)
      else:
            print('密码正确:',myStr)
            ent=time.time()
            print('破解成功!用时%f分'%((ent-stm)/60))
            return
    ent=time.time()
    print('破解失败,用时%f分'%((ent-stm)/60))
stm=time.time()
file=rarfile.RarFile('52pojie.rar','r')#读取rar文件
readpassword()



4位数字字母密码:
import time
from unrar import rarfile
def readpassword():
    print('开始破解:')
    for a in range(len(str)):
      for b in range(len(str)):
            for c in range(len(str)):
                for d in range(len(str)):
                  myStr=str+str+str+str#生成4位密码
                  try:
                        file.extractall(path='52pojie',pwd=myStr)#解压到当前py文件所在目录下的52pojie文件夹内,修改path可自定义解压路径
                  except:
                        print('密码错误:',myStr)
                  else:
                        print('密码正确:',myStr)
                        ent=time.time()
                        print(f'破解成功!用时{(ent-stm)/60}分')
                        return
    ent=time.time()
    print(f'破解失败,用时{(ent-stm)/60}分')
stm=time.time()
file=rarfile.RarFile('52pojie.rar','r')#读取rar文件
str='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'#这里可以加上你想要的字符
readpassword()



二、生成密码本,然后破解:

密码本路径在path='password.txt'这里自定义,如果不修改密码本必须和py文件在同一目录:

import time
from unrar import rarfile
stm=time.time()
file=rarfile.RarFile('52pojie.rar','r')#读取rar文件
path='password.txt'
myfile=open(path,'r',errors='ignore')
print('开始破解:')
for myStr in myfile:
    try:
      file.extractall(path='52pojie',pwd=myStr)#解压到当前py文件所在目录下的52pojie文件夹内,修改path可自定义解压路径
    except:
      print('密码错误:',myStr,end='')
    else:
      print('密码正确:',myStr,end='')
      break
ent=time.time()
print('\n用时%f分'%((ent-stm)/60))

笑东风丶 发表于 2020-9-10 06:18

感谢大佬分享,大牛因有你而更精彩。

zhu0797zhu 发表于 2020-9-10 07:43

66999

生炜呀呀呀 发表于 2020-9-10 10:16

感谢楼主分享!大牛有你更精彩!

514604817 发表于 2020-9-10 11:06

好的,非常感谢

amshuang 发表于 2020-9-10 11:22

6666

hetaoniunai 发表于 2020-9-10 12:42

谢谢分享

1795464058 发表于 2020-9-10 15:05

感谢楼主分享

zhouzhongliu 发表于 2020-9-10 16:06

谢谢大佬

quyanliang 发表于 2020-9-10 17:43

谢谢大牛
页: [1] 2
查看完整版本: python暴力获取rar压缩密码