当前位置:首页 > 技术分享 > 正文内容

python调用WinRAR暴力获取压缩密码 用网址做解压密码

admin3年前 (2021-04-17)技术分享2914

原理很简单:python通过调用WinRAR.exe暴力获取压缩密码,要求必须安装WinRAR或者有WinRAR.exe这个文件(单个文件就行)。个人实测zip和rar格式都能用。

缺点:费时间,费cpu

一、不生成密码本:
4位全数字密码:

import os
import time
def Jy():
    print('开始破解:')
    for i in range(10000):
        myStr=str(i).zfill(4)#生成压缩包密码
        #这里修改WinRAR.exe所在路径、压缩包路径和解压目录(C:\Program Files (x86)\WinRAR\WinRAR.exe、52pojie.rar、52pojie)
        jy=r'"C:\Program Files (x86)\WinRAR\WinRAR.exe" -ibck -y x -p%s 52pojie.zip 52pojie'%myStr
        if os.system(jy)==0:
            print('密码正确!',myStr)
            ent=time.time()
            print('破解成功!用时%f分'%((ent-stm)/60))
            return
        else:
            print('密码错误:',myStr)
    ent=time.time()
    print('破解失败,用时%f分'%((ent-stm)/60))
stm=time.time()
if os.path.exists('52pojie')==False:#判断当前py文件所在目录下是否存在52pojie文件夹,如果没有则建立
    os.mkdir('52pojie')
    Jy()
else:#存在则进行下一步
    Jy()


4位数字字母密码:多几位就是把下面多复制几遍而已

import os
import time
def Jy():
    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[a]+str[b]+str[c]+str[d]#生成压缩包密码
                    #这里修改WinRAR.exe所在路径、压缩包路径和解压目录(C:\Program Files (x86)\WinRAR\WinRAR.exe、52pojie.rar、52pojie)
                    jy=r'"C:\Program Files (x86)\WinRAR\WinRAR.exe" -ibck -y x -p%s 52pojie.zip 52pojie'%myStr
                    if os.system(jy)==0:
                        print('密码正确!',myStr)
                        ent=time.time()
                        print('破解成功!用时%f分'%((ent-stm)/60))
                        return
                    else:
                        print('密码错误:',myStr)
    ent=time.time()
    print('破解失败,用时%f分'%((ent-stm)/60))
stm=time.time()
str='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'#这里加上你想要的字符
if os.path.exists('52pojie')==False:#判断当前py文件所在目录下是否存在52pojie文件夹,如果没有则建立
    os.mkdir('52pojie')
    Jy()
else:#存在则进行下一步
    Jy()


二、生成密码本,然后破解:多几位就是把下面多复制几遍而已

import time
stm=time.time()
dic = open('password.txt', 'a')#在当前py文件所在目录生成password.txt文件
str='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'#这里加上你想要的字符
for a in range(len(str)):
    for b in range(len(str)):
        for c in range(len(str)):
            for d in range(len(str)):
                pwd=str[a]+str[b]+str[c]+str[d]#生成4位数字字母密码,通过增加/删除for语句并且在这句后面加上/删除相应的str来自定义密码位数
                dic.write(pwd)
                dic.write('\n')
                print('密码正在写入文件:',pwd)
dic.close()
ent = time.time()
print('成功生成密码本!用时%f分'%((ent - stm)/60))
import os
import time
def Jy():
    print('开始破解:')
    for myStr in myfile:
        myStr=myStr.replace('\n','')
        # 这里修改WinRAR.exe所在路径、压缩包路径和解压目录(C:\Program Files (x86)\WinRAR\WinRAR.exe、52pojie.rar、52pojie)
        jy=r'"C:\Program Files (x86)\WinRAR\WinRAR.exe" -ibck -y x -p%s 52pojie.zip 52pojie'%myStr
        if os.system(jy)==0:
            print('密码正确!',myStr)
            break
        else:
            print('密码错误:',myStr)
    ent=time.time()
    print('用时%f分'%((ent-stm)/60))
stm=time.time()
path='password.txt'
myfile=open(path,'r',errors='ignore')
if os.path.exists('52pojie')==False:#判断当前py文件所在目录下是否存在52pojie文件夹,如果没有则建立
    os.mkdir('52pojie')
    Jy()
else:#存在则进行下一步
    Jy()

三随机密码破解 想几位就直接把5改成几就行 下面实例针对用网址做解压密码的实例

import os
import time
import random
def Jy():
    print('开始破解:')
    var = 1
    while var == 1 :
        myStr=''.join(random.sample(str,5))+'.com'#生成压缩包密码
        myStr2='www.'+myStr#生成压缩包密码
        jy=r'"C:\Program Files (x86)\WinRAR\WinRAR.exe" -ibck -y x -p%s 52pojie.zip 52pojie'%myStr
        jy2=r'"C:\Program Files (x86)\WinRAR\WinRAR.exe" -ibck -y x -p%s 52pojie.zip 52pojie'%myStr2
        if os.system(jy)==0 or os.system(jy2)==0:
            print('密码正确!',myStr)
            ent=time.time()
            print('破解成功!用时%f分'%((ent-stm)/60))
            return
        else:
            print('密码错误:',myStr)        
    ent=time.time()
    print('破解失败,用时%f分'%((ent-stm)/60))
stm=time.time()
str='0123456789abcdefghijklmnopqrstuvwxyz'#这里加上你想要的字符
if os.path.exists('52pojie')==False:#判断当前py文件所在目录下是否存在52pojie文件夹,如果没有则建立
    os.mkdir('52pojie')
    Jy()
else:#存在则进行下一步
    Jy()


扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/160.html

标签: python
分享给朋友:

相关文章

input search更改默认删除按钮的样式

改input输入框search属性下输入文字之后会在输入框最后出现一个默认样式的X不过这个样式不太好看想自定义怎么办呢方法一input[type="search"]::-webkit-search-cancel-butt...

PIP 更换国内安装源linux/windows

pip国内的一些镜像  阿里云 http://mirrors.aliyun.com/pypi/simple/   中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/   豆瓣(...

百度云网盘高速下载方法[测试可用]

百度云网盘高速下载方法[测试可用]

大前提这是一个油猴脚本,安装脚本之前,必须先安装油猴浏览器扩展(如已安装则跳过):【第一步】下载油猴 --> 如有提示安装,则直接安装即可,否则继续执行第二步【第二步】安装油猴 --> 参考其中章节:&nbs...

Chrome 最全历史版本下载以及chromedriver下载

https://vikyd.github.io/download-chromium-history-version/#/ https://dl.lancdn.com/landian/soft/chrome/m/ chromedriver的版...

【不忘初心】19041/19042/19043(20H1,20H2,21H1)告别繁琐 一键替换太阳谷图标 一键恢复原版图标 一键恢复文件夹预览

【不忘初心】19041/19042/19043(20H1,20H2,21H1)告别繁琐 一键替换太阳谷图标 一键恢复原版图标 一键恢复文件夹预览

一键替换太阳谷图标,一键恢复原版图标,注意是一键!!!  太阳谷图标确实很好看,很新颖 !论坛也有相关替换教程,有的需要改权限,有的需要PE下替换,有的还得重启,搞不好很容易翻车,有些小白同学只能望梅止渴,今天以上统统告...

python 高速处理分析超大网站日志文件 带进度条手动输入日志文件

 python 高速处理分析超大网站日志文件 带进度条手动输入日志文件    1 统计本日志文件的总pv、uv    2 列出全天每小时的pv、uv数    3 列出to...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。