带加密的RAR破解代码

import os,sys

from unrar import rarfile

import datetime

date_list = []

def rar_cracking2():

    fp = rarfile.RarFile('pwd.rar')

    # fpPwd = open('pwd.txt')

    for pwd in date_list:

        pwd = pwd.rstrip()

        print(pwd)

        try:

            fp.extractall(  pwd=pwd )

            # fp.extractall(path='x', pwd=pwd.encode())

            print('[+] Find the password: '+pwd)

            fp.close()

            break

        except:

            # print('error: '+pwd)

            pass

    # fpPwd.close()


 

def rar_cracking():

   

    # fpPwd = open('pwd.txt')

    for pwd in date_list:

        pwd = pwd.rstrip()

        print(pwd)

        try:

            fp = rarfile.RarFile('x.rar', mode='r', pwd=pwd)

            # fp.extractall(  pwd=pwd )

            # fp.extractall(path='x', pwd=pwd.encode())

            print('[+] Find the password: '+pwd)

            fp.close()

            break

        except:

            # print('error: '+pwd)

            pass

    # fpPwd.close()

def genpwd():

     # 导入datetime模块


 

    # 定义开始日期和结束日期

    start_date = datetime.date(2022, 3, 1)

    end_date = datetime.date(2022, 5, 30)

    # 使用while循环,从开始日期逐天增加,直到结束日期

    while start_date <= end_date:

        # 将日期转换为字符串,格式为YYYYMMDD

        date_str = start_date.strftime("%Y-%m-%d")

        # 将字符串添加到列表中

        date_list.append(date_str)

        # 将开始日期增加一天

        start_date += datetime.timedelta(days=1)

   

    start_date = datetime.date(2023, 3, 1)

    end_date = datetime.date(2023, 5, 30)

    # 使用while循环,从开始日期逐天增加,直到结束日期

    while start_date <= end_date:

        # 将日期转换为字符串,格式为YYYYMMDD

        date_str = start_date.strftime("%Y-%m-%d")

        # 将字符串添加到列表中

        date_list.append(date_str)

        # 将开始日期增加一天

        start_date += datetime.timedelta(days=1)

    start_date = datetime.date(2022, 3, 1)

    end_date = datetime.date(2022, 5, 30)

    # 使用while循环,从开始日期逐天增加,直到结束日期

    while start_date <= end_date:

        # 将日期转换为字符串,格式为YYYYMMDD

        date_str = start_date.strftime("%y-%m-%d")

        # 将字符串添加到列表中

        date_list.append(date_str)

        # 将开始日期增加一天

        start_date += datetime.timedelta(days=1)

    start_date = datetime.date(2023, 3, 1)

    end_date = datetime.date(2023, 5, 30)

    # 使用while循环,从开始日期逐天增加,直到结束日期

    while start_date <= end_date:

        # 将日期转换为字符串,格式为YYYYMMDD

        date_str = start_date.strftime("%y-%m-%d")

        # 将字符串添加到列表中

        date_list.append(date_str)

        # 将开始日期增加一天

        start_date += datetime.timedelta(days=1)

    # 打印列表

    print(date_list)

   

if __name__=='__main__':

    # filename = sys.argv[1]

    # filename = sys.argv[1]

    # if os.path.isfile(filename) and filename.endswith('.rar'):

        # rar_cracking( )genpwd

        # rar_cracking(filename)

    # else:

    #     print('Not a rar file')

    genpwd()

    rar_cracking( )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值