破解压缩包(rar,zip)密码的方法 快速在线破解压缩包密码视频教程

分类:站长 时间:2021-06-25 21:42 浏览:224835
概述
可能很多人都遇到过这种情况:1. 费尽千辛万苦,从网上找到合适的资源、等百度云龟速下载完成,解压时才发现需要密码(压缩包里通常还会附上收款地址)……2. 自己多年前珍藏的小秘密/重要文件,解压时却怎么也想不起压缩包密码……两种格式的加密压缩包今天分享一个技巧,教你破解压缩包密码(包括rar、zip格式)。录制了一段视频,从头开始,演示了命令行和gui两种工具的使用;打包整理、上传了我用到的所有工具(包含自定义的密码本)。先说原理:暴力破
内容

可能很多人都遇到过这种情况:

1. 费尽千辛万苦,从网上找到合适的资源、等百度云龟速下载完成,解压时才发现需要密码(压缩包里通常还会附上收款地址)……

2. 自己多年前珍藏的小秘密/重要文件,解压时却怎么也想不起压缩包密码……

01.jpg


两种格式的加密压缩包

今天分享一个技巧,教你破解压缩包密码(包括rar、zip格式)。

录制了一段视频,从头开始,演示了命令行和gui两种工具的使用;

打包整理、上传了我用到的所有工具(包含自定义的密码本)。

观看视频:

先说原理:暴力破解(撞库)

简单来说,就是穷举所有可能的密码,挨个尝试,直到找出正确的密码。

所以,理论上,可以破解任何密码!

方法一,自己动手 丰衣足食

自己写个程序,生成所有可能的密码、挨个尝试,代码也很容易理解。


    def brutal_extract(self, lengths=[4, ], lower=False, upper=False, digit=False, punctuation=False):
        '''
        # 遍历所有可能的密码,暴力破解
        :param lengths:  密码长度,可以指定所有需要考虑的长度,如[4, 5, 6]等
        :param lower:  是否考虑小写字母
        :param upper:  是否考虑大写字母
        :param digit:  是否考虑数字
        :param punctuation:  是否考虑标点符号
        :return:
        '''
        import string  # 用于生成密码本
        from itertools import combinations  # 用于生成所有可能的密码

        passward_dict = ""
        if lower:
            passward_dict += string.ascii_lowercase
        if upper:
            passward_dict += string.ascii_uppercase
        if digit:
            passward_dict += string.digits
        if punctuation:
            passward_dict += string.punctuation

        print("密码本:	{}
密码长度:	{}
".format(passward_dict, lengths))

        count = 0
        for length in lengths:
            for passward in combinations(passward_dict, length):
                passward = "".join(passward)
                count += 1
                print(passward, end=" ")
                if self.extract(passward):
                    print()
                    print("一共尝试了{}种可能".format(count))
                    return
        print("对不起,暂未找到,请尝试:
1. 其他密码长度
2. 包含更多种类的密码字符")

    # 尝试解压
    def extract(self, passward):
        try:
            self.fp.extractall(path=self.tatget_path, pwd=passward.encode())
            print()
            print('成功破解该压缩包,密码为: ' + passward)
            self.fp.close()
            return True
        except:
            pass

02.jpg

运行结果

我这个示例密码很简单(长度短、类型简单,仅包含小写字母和数字),所以跑起来很快,CPU下1分钟左右就能找到。


但如果你不知道密码的范围、类型,完全瞎猜的话,需要考虑所有长度、所有字符类型(小写字母、大写字母、数字、标点符号),那就需要很大的计算量了。


可能的优化方法有:多线程并行、GPU加速等,有兴趣的可以自己尝试。


方法二,开源工具 自带各种优化

cRARk,自1996年诞生,历经5代完善,目前号称世界上最快的rar解压工具,支持Win32/64, Linux, Mac OS多种平台、GPU加速、各种性能优化!

官方工具没有gui界面,需要通过命令行使用,示例如下:

03.jpg

使用方法

这个工具会自动加载password.def的配置,来尝试各种可能,这里分享一个比较完备的配置方案:

04.jpg

crack passward.def文件

对比一下CPU和GPU的速度:

05.jpg

可以看到,GPU比CPU快了几十倍,每秒可以尝试2万多种可能。

6位数字的银行卡密码,一共有10^6种可能性,可以在1分钟内破解

那为啥银行卡密码还那么安全呢?

因为我银行卡里的钱不值得黑客浪费那1分钟

因为银行不可能给你尝试那么多次!

方法三,人性化的软件(带GUI界面)

还是上面的工具,有热心的第三方提供了人性化的GUI界面,极大便利了非程序员们:

06.jpg

本期资源链接:

python完整程序:

gist.github.com/weidafe

RAR版工具:crark.net/#

ZIP版工具:crark.net/crark-7zip.ht

GUI界面版(仅win):crark.net/download/crar


评论
  • 猎伞底部波浪
  • 猎伞底部波浪
  • 猎伞底部波浪
  • 猎伞底部波浪

我的

足迹

投稿

反馈

客服

猎伞官方客服

客服QQ:104****84 (点击直接对话)

客服电话:400****16(查看完整电话)

客服邮箱:service@liesan.com

管理仅处理交易投诉、举报、帐号、资金等平台使用问题;
商品问题请咨询各商品详情页面中显示的商家客服QQ。

正常模式精简模式

返回顶部