Python黑客编程2 入门demo--zip暴力破解
上一篇文章,我们在Kali Linux中搭建了基本的Python开发环境,本篇文章为了拉近Python和大家的距离,我们写一个暴力破解zip包密码的小程序。这个例子来自于《Voilent Python》一书,这也是一本python黑客编程的入门书,推荐大家看一看。
照顾没有接触过Python编程的同学,行文可能会有些啰嗦。
废话少说,我们进入正题。
2.1 准备基本材料
在/home/ziptest/目录下,我创建了两个文件,一个test.zip,是一个设置了密码的zip包,密码为456789。
dict.txt文件是一个字典文件,简单的配置了几个密码。
下面我们打开开发工具,开始编写测试代码。
2.2 ZIPFILE
在python中操作zip文件,最简单的方式就是使用zipfile模块,使用该模块可以用来判断一个文件是否是压缩文件,创建、解压文件,获取zip文件的元数据信息。可以使用python的help方法查看该模块的使用方法。
这里我们首先关注下ZipFile类。
该类用来打开,读取,修改,解压zip文件。我们想要操作一个zip文件,第一步就是初始化ZipFile实例。下面我们打开我们准备好的text.zip文件。
import zipfile
zFile = zipfile.ZipFile("/HOME/TEST.ZIP");
我们只传了一个路径参数进去,从帮助文档我们可以看到,后面三个参数都有默认值,这里我们使用默认值就够了。
下面我们关注下ZipFile类的extractall方法。
extractall方法,是把压缩包里面的内容都解压出来,三个参数,path是解压的路径,members是需要解压出来的文件,pwd是密码。
现在我们可以测试下文件解压了。
import zipfile
zFile = zipfile.ZipFile("/HOME/ZIPTEST/TEST.ZIP");
zFile.extractall("/HOME/",pwd="456789");
运行这个脚本。