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


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解析html开发库pyquery使用方法
Feb 07 Python
跟老齐学Python之用Python计算
Sep 12 Python
在Python的列表中利用remove()方法删除元素的教程
May 21 Python
Python中用altzone()方法处理时区的教程
May 22 Python
详细讲解Python中的文件I/O操作
May 24 Python
python3+PyQt5实现自定义流体混合窗口部件
Apr 24 Python
Python OOP类中的几种函数或方法总结
Feb 22 Python
详解用Python练习画个美队盾牌
Mar 23 Python
OpenCV中VideoCapture类的使用详解
Feb 14 Python
jupyter notebook 重装教程
Apr 16 Python
python中什么是面向对象
Jun 11 Python
python为什么要安装到c盘
Jul 20 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 加密与解密的斗争
2009/04/17 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
2016/10/17 PHP
thinkPHP自动验证机制详解
2016/12/05 PHP
php上传excel表格并获取数据
2017/04/27 PHP
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
2010/01/15 Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
Javascript中正则表达式的全局匹配模式分析
2011/04/26 Javascript
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
2012/10/11 Javascript
浅析jQuery对select操作小结(遍历option,操作option)
2013/07/04 Javascript
jQuery过滤选择器:not()方法使用介绍
2014/04/20 Javascript
Javascript模块化编程详解
2014/12/01 Javascript
javascript使用appendChild追加节点实例
2015/01/12 Javascript
js实现Select下拉框具有输入功能的方法
2015/02/06 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
2017/05/17 Javascript
JS数组操作中的经典算法实例讲解
2017/07/26 Javascript
Node.js事件的正确使用方法
2019/04/05 Javascript
详解如何探测小程序返回到webview页面
2019/05/14 Javascript
vue实现购物车加减
2020/05/30 Javascript
原生JS实现微信通讯录
2020/06/18 Javascript
解决VUE项目localhost端口服务器拒绝连接,只能用127.0.0.1的问题
2020/08/14 Javascript
python获得图片base64编码示例
2014/01/16 Python
如何用python整理附件
2018/05/13 Python
Python中collections模块的基本使用教程
2018/12/07 Python
Python Django简单实现session登录注销过程详解
2019/08/06 Python
Django 框架模型操作入门教程
2019/11/05 Python
pytorch加载自己的图像数据集实例
2020/07/07 Python
如何利用find命令查找文件
2015/02/07 面试题
Solaris操作系统的线程机制
2015/07/28 面试题
国际商务系学生个人的自我评价
2013/11/26 职场文书
院领导写的就业推荐信
2014/03/09 职场文书
小学教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
品质保证书格式
2015/02/28 职场文书
应届毕业生自荐信
2015/03/04 职场文书
分家协议书范本
2016/03/22 职场文书
Rust 连接 PostgreSQL 数据库的详细过程
2022/01/22 PostgreSQL