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


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线程详解
Jun 24 Python
Django自定义插件实现网站登录验证码功能
Apr 19 Python
Python3.6简单操作Mysql数据库
Sep 12 Python
python 接口测试response返回数据对比的方法
Feb 11 Python
python游戏地图最短路径求解
Jan 16 Python
使用python实现滑动验证码功能
Aug 05 Python
pandas按行按列遍历Dataframe的几种方式
Oct 23 Python
python suds访问webservice服务实现
Jun 26 Python
python 基于卡方值分箱算法的实现示例
Jul 17 Python
PyCharm上安装Package的实现(以pandas为例)
Sep 18 Python
python 邮件检测工具mmpi的使用
Jan 04 Python
python基础学习之递归函数知识总结
May 26 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 图像尺寸调整代码
2010/05/26 PHP
Ajax+PHP实现的删除数据功能示例
2019/02/12 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
使用新的消息弹出框blackbirdjs
2008/10/16 Javascript
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
2014/01/22 Javascript
浅谈JS中逗号运算符的用法
2016/06/12 Javascript
js鼠标经过tab选项卡时实现切换延迟
2017/03/24 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
nodejs简单访问及操作mysql数据库的方法示例
2018/03/15 NodeJs
jQuery实现判断上传图片类型和大小的方法示例
2018/04/11 jQuery
Vue多组件仓库开发与发布详解
2019/02/28 Javascript
vue+web端仿微信网页版聊天室功能
2019/04/30 Javascript
node.js中 redis 的安装和基本操作示例
2020/02/10 Javascript
vue实现抽屉弹窗效果
2020/11/15 Javascript
[04:04]DOTA2亚洲邀请赛比赛场馆&酒店全攻略
2017/03/23 DOTA
[58:23]LGD vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python操作Mysql实例代码教程在线版(查询手册)
2013/02/18 Python
使用rpclib进行Python网络编程时的注释问题
2015/05/06 Python
Python sorted函数详解(高级篇)
2018/09/18 Python
python抓取搜狗微信公众号文章
2019/04/01 Python
python用requests实现http请求代码实例
2019/10/31 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
2019/11/11 Python
TensorFlow保存TensorBoard图像操作
2020/06/23 Python
Python爬取微信小程序通用方法代码实例详解
2020/09/29 Python
用python爬虫批量下载pdf的实现
2020/12/01 Python
工作室成员个人发展规划范文
2014/01/24 职场文书
《阳光》教学反思
2014/02/23 职场文书
工厂采购员岗位职责
2014/04/08 职场文书
本科毕业生应聘自荐信范文
2014/06/26 职场文书
读后感作文评语
2014/12/25 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
教你用Java在个人电脑上实现微信扫码支付
2021/06/13 Java/Android
MySQL定时备份数据库(全库备份)的实现
2021/09/25 MySQL
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL
java中如何截取字符串最后一位
2022/07/07 Java/Android