浏览桌面依然平静,!!!!等等。。怎么有个压缩包

打开一看!!!156.txt???waht the fuck?

卧槽还有密码!!!!!!

但是我不知道╮(╯▽╰)╭该怎么办呢!

很简单,python写一个zip字典破解器

首先呢,要用到zipfile模块

---------------简单的破解程序如下------------------------

#-*-coding:utf-8-*-
import zipfile
def test():
zipFi=zipfile.ZipFile('xxxxx.zip')
passfile=open('密码字典.txt','r')
for line in passfile.readlines():
password=line.strip('\n')
try:
zipfile.extractall(pwd=password)
print'Found zip password:'+word+'\n'
except:
pass
test()

你会不发现程序跑字典非常慢!

所以我们要改造一下。

这里补充一点,因为有人可能没有字典,我们可以用python生成一个!

------------字典生成器-------------

f=open('zidian.txt','w')
dic=''
bs=[b+d+c+g for b in dic for d in dic for g in dic]
for line in bs:
print line
f.write(line+'\n')

接下来我们给zip破解器加入多线程与能让用户选择字典和zip的功能!

------改造后的代码-------

import zipfile
import optarges
from threading import Thread
def extractfile(ZFile,password):
try:
zFile.extractall(pwd=password)
print '[*]Found password:'+password+'\n'
except:
pass
def main():
parse=optparges.OptionsParse('此程序由本少提供%使用方法'+\
'-f<zipfile> -d<xxx.txt>')
parser.add_options(dest='zname',type='string',\
help='specify zip file')
parser.add_option('-d',dest='dname',type='string',\
help='specify dictionary file'))
(options,args)=parser.parse_args()
if (options.zname=None|options.dname=None)
print.usage
exit(0)
znme=options.zname
dname=options.dname
Zfile=zipfile.ZipFile(znme)
passfile=open(dname)
for line in passfile.readlines():
password=line.strip('\n')
t=Thread(target=extractfile,args=(Zfile,password))
t.start()
if__name__='__main__':
main()

成功跑出zip的密码,妈耶。。。里面是yellow book in URL!!!!!

python写zip破解器的更多相关文章

  1. python写exploit采集器

    前言: 根据天文地理与风水学,我掐指一算的看到了一篇不错的文章,文章里面写到整理exploit 我顿时心理想写一个exploit采集器,那么说时迟那时快.就开始写了 代码: 思路:http://exp ...

  2. python写unix口令破解器

    看了python绝技做出来的unix口令破解器 首先需要crypt. python并不自带!! windows下pip安装失败= = 后来直接去kali敲了 附件:jiami.txt #假设是unix ...

  3. 写python中的装饰器

    python中的装饰器主要用于在已有函数实现功能前附加需要输出的信息,下面将用实例展示我如何写装饰器. 首先分别尝试写装饰器装饰一个无参函数和一个有参函数(被装饰函数仅输出,无返回值情况下) def ...

  4. 面向切面编程AOP——加锁、cache、logging、trace、同步等这些较通用的操作,如果都写一个类,则每个用到这些功能的类使用多继承非常难看,AOP就是解决这个问题的,python AOP就是装饰器

    面向切面编程(AOP)是一种编程思想,与OOP并不矛盾,只是它们的关注点相同.面向对象的目的在于抽象和管理,而面向切面的目的在于解耦和复用. 举两个大家都接触过的AOP的例子: 1)java中myba ...

  5. Python入门篇-装饰器

    Python入门篇-装饰器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.装饰器概述 装饰器(无参) 它是一个函数 函数作为它的形参 返回值也是一个函数 可以使用@functi ...

  6. python高级之装饰器

    python高级之装饰器 本节内容 高阶函数 嵌套函数及闭包 装饰器 装饰器带参数 装饰器的嵌套 functools.wraps模块 递归函数被装饰 1.高阶函数 高阶函数的定义: 满足下面两个条件之 ...

  7. [python基础]关于装饰器

    在面试的时候,被问到装饰器,在用的最多的时候就@classmethod ,@staticmethod,开口胡乱回答想这和C#的static public 关键字是不是一样的,等面试回来一看,哇,原来是 ...

  8. python自动化之装饰器

    1 高阶函数 满足下列条件之一就可成函数为高阶函数 某一函数当做参数传入另一个函数中 函数的返回值包含n个函数,n>0 高阶函数示范 def bar(): print 'in the bar' ...

  9. python笔记 - day4-之装饰器

                 python笔记 - day4-之装饰器 需求: 给f1~f100增加个log: def outer(): #定义增加的log print("log") ...

随机推荐

  1. DataBase MongoDB高级知识

    MongoDB高级知识 一.mongodb适合场景: 1.读写分离:MongoDB服务采用三节点副本集的高可用架构,三个数据节点位于不同的物理服务器上,自动同步数据.Primary和Secondary ...

  2. python基础知识——字符串详解

    大多数人学习的第一门编程语言是C/C++,个人觉得C/C++也许是小白入门的最合适的语言,但是必须承认C/C++确实有的地方难以理解,初学者如果没有正确理解,就可能会在使用指针等变量时候变得越来越困惑 ...

  3. JavaBean转Map方法

    Map<String, Object> fieldMap =new HashMap<String, Object>(); BeanInfo beanInfo = Introsp ...

  4. 通过js添加的元素点击事件无法触发

    var blk_have ='<div class="sw-off"></div>'; $('#blk').prepend(blk_have); $(doc ...

  5. C# DataGridView 的UserDeletingRow事件,删除

    DialogResult dr = MessageBox.Show("确认删除记录吗?", "提示", MessageBoxButtons.YesNo);    ...

  6. leetcode — word-break-ii

    import java.util.*; /** * Source : https://oj.leetcode.com/problems/word-break-ii/ * * Given a strin ...

  7. DBA 优化法则

    硬件资源是根本,DBA是为了充分利用硬件资源:(更新中--) 统一SQL语句: 减少SQL嵌套: 执行计划返回结果集(决定计划走向): 合理使用临时表: tempdb分多文件: OLTP 条件使用变量 ...

  8. Hibernate学习笔记(3)---hibernate关联关系映射

    一对一关联 假设有两个持久化类(实体类)User与Address,它们之间存在一对一的关系 1,通过主键关联(个人偏向另外一种) User.hbm.xml文件配置 <id name=" ...

  9. 云计算之路-阿里云上: RDS实例CPU跑满引发的故障

    今天上午 10: 40 左右,我们所使用的阿里云 RDS 实例的 CPU 突然飙高到近 100% ,造成大量数据库查询操作缓慢.超时,在这个恶劣条件下大量 memcached 缓存无法建立,这样的雪上 ...

  10. JDK1.8中的线程池

    上面这段代码一直在用,面试的时候也经常被问到,却从未深究过,不知道线程池到底是怎么回事,今天看看源代码,一探其究竟 线程池主要控制的状态是ctl,它是一个原子的整数,其包含两个概念字段: worker ...