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

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

admin1年前 (2021-04-17)技术分享1167

原理很简单: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()


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

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

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

标签: python
分享给朋友:

相关文章

WPS表格办公—取消科学计数法显示

WPS表格办公—取消科学计数法显示

我们在利用WPS表格与Excel表格进行日常办公时,经常需要制作各种各样的表格,当我们在表格当中输入长数据的时候,表格经常会自动显示为科学计数法,很多人都看不懂科学计数法的意思,那么,我们如何在输入长数字的时候避免显示为科学计数法呢,今天我...

百度云,天翼云盘解析网页地址 收集分享

百度云解析http://p.106666.xyz/https://pan.kdbaidu.com/https://pan.kdpd.me/https://yun.kdbaidu.com/http://blog.xxatf.top/https...

关于微信第三方平台(全网发布检测)检测流程以及踩到的坑

关于微信第三方平台(全网发布检测)检测流程以及踩到的坑

能点到全网发布这一步,说明你已经弄好了获取component_verify_ticket,component_access_token等这些参数,通常这个时候点击全网发布只会有这两个失败。如果其他失败的那就要好好检查一下你的代码了,或者查看...

[Windows] Adobe Flash Player 34.0.0.92及可用版修改方法

[Windows] Adobe Flash Player 34.0.0.92及可用版修改方法

随着 2021 年的到来,Adobe Flash Player 也迎来了告别,Adobe 在 2020 年 12 月 31 日后将不再支持 Flash Player。其实早在 2017 年,Adobe 公司就已宣布,计划在 2020 年底逐...

系统小技巧:微软版“Ghost” Windows FFU 系统安装还原

系统小技巧:微软版“Ghost” Windows FFU 系统安装还原

在日常的维护中,系统的备份和还原是大家经常需要操作的事情。虽然Windows 10已经提供很多的工具,如系统还原、WIM备份/还原,VHD备份等。不过这些工具大多是基于文件的备份/还原。我们以前经常的使用的Ghost则是基于扇区的备份/还原...

PIP 更换国内安装源linux/windows

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

发表评论

访客

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