压缩包密码破解示例分享(类似典破解)


Posted in Python onJanuary 17, 2014

昨天翻硬盘,找到一个好东西,可惜自己加了密码自己不记得了。试了几个常用的没试出来,于是写了这么个小脚本来替我尝试。。呵呵,还真给解出来了。
python脚本内容如下,跑跑自己加密的压缩包还不错

# -*- coding: utf-8 -*-import sys,os
def IsElementUniq(list):
    """
          判断list中的元素是否为唯一的
    """
    for word in list:
        if list.count(word)>1:
            return False
    return True
def GenPswList():
    """
          要求用户输入词,并根据单词组合密码,只尝试四个单词来组合,并限制密码长度为20。写的比较挫
    """
    psw=raw_input('input a word>')
    wordlist = []
    while psw:
        wordlist.append(psw)
        psw=raw_input('input a word>')
    print wordlist
    global g_pswlist
    g_pswlist = []
    for word in wordlist:
        g_pswlist.append(word)
    for word1 in wordlist:
        for word2 in wordlist:
            locallist = [word1, word2]
            if IsElementUniq(locallist):
                tmp = word1 + word2
                if len(tmp) < 20:
                    g_pswlist.append(tmp)
    for word1 in wordlist:
        for word2 in wordlist:
            for word3 in wordlist:
                locallist = [word1, word2, word3]
                if IsElementUniq(locallist):
                    tmp = word1 + word2 + word3
                    if len(tmp) < 20:
                        g_pswlist.append(tmp)
    for word1 in wordlist:
        for word2 in wordlist:
            for word3 in wordlist:
                for word4 in wordlist:
                    locallist = [word1, word2, word3, word4]
                    if IsElementUniq(locallist):
                        tmp = word1 + word2 + word3 + word4
                        if len(tmp) < 20:
                            g_pswlist.append(tmp)
    print 'gen psw is:', g_pswlist
def TestUnZipPack(filename):
    """
          尝试用密码来解压压缩包
    """
    command = ""
    for psw in g_pswlist:
        command = "7z e -p%s -y %s" %(psw,filename)
        print command
        ret = os.system(command)
        if ret == 0:
            print 'right psw is ', psw
            break
def main(filename):
    GenPswList()
    TestUnZipPack(filename)
if __name__ == '__main__':
    if len(sys.argv) != 2:
        print 'argv error'
        print 'example:test_7z_psw.py 1.7z'
        sys.exit(1)
    main(sys.argv[1])
Python 相关文章推荐
Python Mysql自动备份脚本
Jul 14 Python
Django静态资源URL STATIC_ROOT的配置方法
Nov 08 Python
python socket多线程通讯实例分析(聊天室)
Apr 06 Python
Python查询IP地址归属完整代码
Jun 21 Python
python如何生成各种随机分布图
Aug 27 Python
Python3中_(下划线)和__(双下划线)的用途和区别
Apr 26 Python
提升Python效率之使用循环机制代替递归函数
Jul 23 Python
Python日期格式和字符串格式相互转换的方法
Feb 18 Python
python查找特定名称文件并按序号、文件名分行打印输出的方法
Apr 24 Python
Python不支持 i ++ 语法的原因解析
Jul 22 Python
Python datetime 如何处理时区信息
Sep 02 Python
python数字图像处理数据类型及颜色空间转换
Jun 28 Python
vc6编写python扩展的方法分享
Jan 17 #Python
python的urllib模块显示下载进度示例
Jan 17 #Python
Python中for循环详解
Jan 17 #Python
python在命令行下使用google翻译(带语音)
Jan 16 #Python
python支持断点续传的多线程下载示例
Jan 16 #Python
python获得图片base64编码示例
Jan 16 #Python
python练习程序批量修改文件名
Jan 16 #Python
You might like
PHP安全编程之加密功能
2006/10/09 PHP
PHP 设计模式之观察者模式介绍
2012/02/22 PHP
php自动加载autoload机制示例分享
2014/02/20 PHP
php中实现可以返回多个值的函数实例
2015/03/21 PHP
适用于初学者的简易PHP文件上传类
2015/10/29 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
2020/08/17 PHP
通过隐藏option实现select的联动效果
2009/11/10 Javascript
jQuery学习总结之元素的相对定位和选择器(持续更新)
2011/04/26 Javascript
Jquery获取元素的父容器对象示例代码
2014/02/10 Javascript
在JavaScript中正确引用bind方法的应用
2015/05/11 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
2017/04/04 jQuery
JavaScript正则表达式校验与递归函数实际应用实例解析
2017/08/04 Javascript
浅谈Vue SPA 首屏加载优化实践
2017/12/15 Javascript
ExtJs整合Echarts的示例代码
2018/02/27 Javascript
nodejs基于express实现文件上传的方法
2018/03/19 NodeJs
Vue实现滑动拼图验证码功能
2019/09/15 Javascript
原生JS实现无缝轮播图片
2020/06/24 Javascript
关于小程序优化的一些建议(小结)
2020/12/10 Javascript
[01:30]DOTA2上海特锦赛现场采访 Loda倾情献唱
2016/03/25 DOTA
[01:57]2016完美“圣”典风云人物:国士无双专访
2016/12/04 DOTA
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
windows下安装Python的XlsxWriter模块方法
2018/05/03 Python
Django forms组件的使用教程
2018/10/08 Python
Python自动抢红包教程详解
2019/06/11 Python
python匿名函数的使用方法解析
2019/10/10 Python
python3 xpath和requests应用详解
2020/03/06 Python
读取nii或nii.gz文件中的信息即输出图像操作
2020/07/01 Python
python 爬虫请求模块requests详解
2020/12/04 Python
巴西宠物店在线:Geração Pet
2017/05/31 全球购物
新加坡最受追捧的体验平台:Hapz
2018/01/01 全球购物
项目经理岗位职责
2013/11/11 职场文书
大学生毕业求职自荐书范文
2014/02/04 职场文书
javascript条件式访问属性和箭头函数介绍
2021/11/17 Javascript
JavaScript ES6的函数拓展
2022/01/18 Javascript
Python字符串的转义字符
2022/04/07 Python
Nginx安装配置详解
2022/06/25 Servers