我用 Python 破解了同事的加密压缩包!
作者 | 朱小五
又是一杯奶茶。
事情的经过是这样的:
又是奶茶,行吧快点开工,争取李大伟回来之前搞定
李大伟说是6位数字密码
那么我们可以利用python生成全部的六位数字密码
#生成从000000到99999的密码表
f = open('passdict.txt','w')
for id in range(1000000):
password = str(id).zfill(6)+'\n'
f.write(password)
f.close()
这样,我们就生成了一个从000000到99999的密码表。
并把它们存入到 passdict.txt 的文件中。
6位的密码表就这么大!!!
下一步做什么?
自然是将生成的密码表中的密码遍历,
暴力破解啦!
科普时间:
zipFile模块式Python自带的模块,提供了对zip 文件的创建,读,写,追加,解压以及列出文件列表的操作
解压使用extractll方法extractall(path=None, members=None, pwd=None)
path:指定解压后文件的位置
members:(可选)指定要Zip文件中要解压的文件,这个文件名称必须是通过namelist()方法返回列表的子集
pwd:指定Zip文件的解压密码
那么我们可以利用 zipFile 模块来遍历密码表,
挨个挨个密码尝试,看能不能打开压缩包。
直到成功。
导入zipFile
import zipfile
def extractFile(zipFile, password):
try:
zipFile.extractall(pwd= bytes(password, "utf8" ))
print("李大伟的压缩包密码是" + password) #破解成功
except:
pass #失败,就跳过
def main():
zipFile = zipfile.ZipFile('李大伟.zip')
PwdLists = open('passdict.txt') #读入所有密码
for line in PwdLists.readlines(): #挨个挨个的写入密码
Pwd = line.strip('\n')
guess = extractFile(zipFile, Pwd)
if __name__ == '__main__':
main()
花了不到一分钟
成功解出密码是:
收工√
趁着李大伟还没回来,
多说两句。
李大伟设置的只是6位数字的密码,
所以本次只要单线程暴力遍历就ok了。
那如果更多位数,
字母数字特殊字符混合的复杂密码呢?
我们可以应用多线程进程解压,加快速度
网络上还有一些暴力破解字典,
可以下载用来遍历
感兴趣的朋友们不妨试试。
大伟回来了。
我告诉他密码就是压缩包当天的日期。
李大伟表示:20191119他已经试过了。
然而这个压缩包的压缩时间是前一天20191118啊。
你口口声声说用当天日期,拿今天1119试什么试?
不过奶茶真好喝~
相关破解源码和李大伟压缩包已上传Github:https://github.com/zpw1995/aotodata/tree/master/interest/zip
作者 | 朱小五
又是一杯奶茶。
事情的经过是这样的:
又是奶茶,行吧行吧。
快点开工,争取李大伟回来之前搞定。
李大伟说是6位数字密码
那么我们可以利用python生成全部的六位数字密码
#生成从到的密码表f = ): password = str(id).zfill()+'\n' f.write(password)f.close()
这样,我们就生成了一个从000000到99999的密码表。
并把它们存入到 passdict.txt 的文件中。
6位的密码表就这么大!!!
下一步做什么?
自然是将生成的密码表中的密码遍历,
暴力破解啦!
科普时间:
zipFile模块式Python自带的模块,提供了对zip 文件的创建,读,写,追加,解压以及列出文件列表的操作
解压使用extractll方法extractall(path=None, members=None, pwd=None)
path:指定解压后文件的位置
members:(可选)指定要Zip文件中要解压的文件,这个文件名称必须是通过namelist()方法返回列表的子集
pwd:指定Zip文件的解压密码
那么我们可以利用 zipFile 模块来遍历密码表,
挨个挨个密码尝试,看能不能打开压缩包。
直到成功。
导入zipFile
import zipfile
def extractFile(zipFile, password): try: zipFile.extractall(pwd= bytes(password, "utf8" )) print("李大伟的压缩包密码是" + password) #破解成功 except: pass #失败,就跳过
def main(): zipFile = zipfile.ZipFile('李大伟.zip') PwdLists = open('passdict.txt') #读入所有密码 for line in PwdLists.readlines(): #挨个挨个的写入密码 Pwd = line.strip('\n') guess = extractFile(zipFile, Pwd)
if __name__ == '__main__': main()
花了不到一分钟
成功解出密码是:
收工√
趁着李大伟还没回来,
多说两句。
李大伟设置的只是6位数字的密码,
所以本次只要单线程暴力遍历就ok了。
那如果更多位数,
字母数字特殊字符混合的复杂密码呢?
我们可以应用多线程进程解压,加快速度
网络上还有一些暴力破解字典,
可以下载用来遍历
感兴趣的朋友们不妨试试。
大伟回来了。
我告诉他密码就是压缩包当天的日期。
李大伟表示:20191119他已经试过了。
然而这个压缩包的压缩时间是前一天20191118啊。
你口口声声说用当天日期,拿今天1119试什么试?
不过奶茶真好喝~
相关破解源码和李大伟压缩包已上传Github:https://github.com/zpw1995/aotodata/tree/master/interest/zip
我用 Python 破解了同事的加密压缩包!的更多相关文章
- 使用 Python破解大众点评字体加密(SVG反扒)
前言 大众点评拥有大量高质量评论信息.种草信息,同时也有非常严格的反扒机制. 今天我们一起使用 Python破解大众点评字体加密,获取极具商业价值的信息. 本文知识点: requests 的使用 xp ...
- 使用Z3破解简单的XOR加密
使用Z3破解简单的XOR加密 翻译:无名侠 原文地址: https://yurichev.com/blog/XOR_Z3/ 如果我们有一段用简单XOR加密过的文本,怎么寻找密钥呢?密钥的长度可能很长, ...
- 【转】python模块分析之hashlib加密(二)
[转]python模块分析之hashlib加密(二) hashlib模块是用来对字符串进行hash加密的模块,明文与密文是一一对应不变的关系:用于注册.登录时用户名.密码等加密使用.一.函数分析:1. ...
- 【Python3爬虫】反反爬之破解同程旅游加密参数 antitoken
一.前言简介 在现在各个网站使用的反爬措施中,使用 JavaScript 加密算是很常用的了,通常会使用 JavaScript 加密某个参数,例如 token 或者 sign.在这次的例子中,就采取了 ...
- python 中md5 和 sha1 加密, md5 + os.urandom 生成全局唯一ID
首先先来介绍一下md5 和 sha1 的概念 MD5 MD5的全称是Message-Digest Algorithm 5(信息-摘要算法).128位长度.目前MD5是一种不可逆算法. 具有很高的安全性 ...
- Python解析器源码加密系列之(二):一次使用标准c的FILE*访问内存块的尝试
摘要:由于近期打算修改Python解释器以实现pyc文件的加密/解密,出于保密的要求,解密之后的数据只能放在内存中,不能写入到文件中.但是后续的解析pyc文件的代码又只能接受FILE*作为入参,所以就 ...
- 手游Apk破解疯狂,爱加密apk加固保护开发人员
2013年手游行业的规模与收入均实现了大幅增长,发展势头强劲.权威数据显示, 我国移动游戏市场实际销售收入从2012年的32.4亿猛增到2013年的112.4亿元,同比增长了246.9%,手游用户从2 ...
- Python实现RSA无填充加密,兼容BouncyCastle
场景 某系统登录时密码经过前台rsa加密传给后端,为实现模拟登录需要原样生成加密串. 分析 前台通过RSA.js.BigInt.js.Barrett.js三个js文件实现加密,公钥通过ajax请求获得 ...
- 实验楼Python破解验证码
本人大二,因为Python结业考试项目,又想要学习机器学习方向,但是由于接触时间不长,选择了实验楼的Python破解验证码这个项目作为我的项目, 我在原来的基础上加了一些代码用于完善,并且对功能如何实 ...
随机推荐
- PHP命令空间namespace及use的用法
使用namespace的目的 命名空间将代码划分出不同的空间(区域),每个空间的常量.函数.类(为了偷懒,我下边都将它们称为元素)的名字互不影响, 这个有点类似我们常常提到的'封装'的概念. 团队合作 ...
- 【nodejs原理&源码赏析(1)】Express中间件系统的基本实现
一直觉得express的中间件系统这种流式处理非常形象,就好像加工流水线一样,每个环节都在针对同一个产品的不同部分完成自己的工作,最后得到一个成品.今天就来实现一个简易的[中间件队列]. 一. API ...
- Python不再为字符集编码发愁,使用chardet轻松解决你的困扰。
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...
- 本科阶段就挑战自动驾驶开发?华为云ModelArts帮你轻松实现!
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...
- YUM平台的搭建
网络安全学习内容 三.挂载yum仓库 3.1连接映像文件 步骤如下: 1.右击映像文件,单击设置,选择CentOS映像文件 2.右击映像文件,单击连接 3.2挂载本地yum 打开终端,输入vim /e ...
- Android Application 详细介绍
一.先看看文档里怎么说 Base class for those who need to maintain global application state. You can provide your ...
- 高质量iOS博客推荐
https://www.jianshu.com/p/ea9fabdc12ed 原文地址 原作者记录了一些高质量ios博客地址,本文只做收藏使用.
- Unknown class XXViewController in Interface Builder file.”问题处理
“Unknown class XXViewController in Interface Builder file.”问题处理 在静态库中写了一个XXViewController类,然后在主工程的 ...
- python2和python3编码问题
欢迎加入python学习交流群 667279387 一.什么是编解码 1.什么是unicode 2.编码方式 二.python中的编解码 1.python2 (1).encode() 和 .decod ...
- jQuery操作元素对象的样式
在jQuery中操作元素为了加快速度,或者书写速度,可以用到json的格式: <!DOCTYPE html> <html> <head> <meta char ...