python的对文档密码的简单破解

news/2024/10/30 11:26:48/

最近简单学习了一下python语言,对模块和库有了一点了解,写个博客作为自己学习的记录。

这次是关于暴力破解excel密码的程序,起因是自己的一个文档忘记密码了,但自己没什么经验,就参照了一些博客的代码,按照自己的思路拼接而成。

首先是打开带密码的excel。

excel = DispatchEx("Excel.Application")  # 启动excel
excel.Visible = False  # 去掉可视化
demo = excel.Workbooks.Open(filename, UpdateLinks=False, ReadOnly=False, Format=None,Password=password)

然后是生成密码字典。

list1 = [chr(i) for i in range(48, 58)]  # 0-9的ASCLL码值
list2 = [chr(i) for i in range(65, 91)]  # A-Z的ASCLL码值
list3 = [chr(i) for i in range(97, 123)]  # a-z的ASCLL码值
newlist = list1+list2+list3 #看情况选择三种中的几种

然后就是尝试破解了。

        for i in product(newlist, repeat=length):  # 开始生成密码result = ''.join(i)password = resultprint('尝试第%d次,密码为%s' % (currentresult,password))try:demo = excel.Workbooks.Open(filename, UpdateLinks=False, ReadOnly=False, Format=None,Password=password)excel.Visible = Truebreak# read_excel_password(filename, password)except:currentresult+=1continue

最后组合一下就可以得到完整代码。

from itertools import product
from win32com.client import DispatchEx
# product作用:将提供的容器中的所有元素排列组合形式按照指定的长度完全列出来
# 1.将数字、字母放入容器中
# 2.指定长度范围
# 3.开始生成“密码”excel = DispatchEx("Excel.Application")  # 启动excel
excel.Visible = False  # 去掉可视化list1 = [chr(i) for i in range(48, 58)]  # 0-9的ASCLL码值
list2 = [chr(i) for i in range(65, 91)]  # A-Z的ASCLL码值
list3 = [chr(i) for i in range(97, 123)]  # a-z的ASCLL码值
newlist = list1
print(newlist)# 指定长度范围
currentresult=1
if __name__ == '__main__':filename = "此处是文件路径"for length in range(4, 8):# product(字符串容器,repeat=长度)for i in product(newlist, repeat=length):  # 开始生成密码result = ''.join(i)password = resultprint('尝试第%d次,密码为%s' % (currentresult,password))try:demo = excel.Workbooks.Open(filename, UpdateLinks=False, ReadOnly=False, Format=None,Password=password)excel.Visible = Truebreakexcept:currentresult+=1continuebreak

自己尝试后才发现暴力破解其实根本行不通,因为自己的电脑只能做到每秒尝试20次左右,而三位数的组合就近万种,不过这也算是一次很不错的尝试。


http://www.ppmy.cn/news/265569.html

相关文章

EXCEL的VBA宏密码破解

在Excel 文档中使用AltF11可以打开查看宏代码。而部分VBA宏使用了密码保护,如下图: 在不知道密码的情况下则无法查看到宏代码。 对策 用Emeditor以二进制方式打开文件,搜索[43 4D 47],对应字符为CMG,将找到CMG后的3…

Excel 工作表密码破解

以下模块插入VBA 新建模块 F5 Public Sub 工作表保护密码破解() Const DBLSPACE As String vbNewLine & vbNewLine Const AUTHORS As String DBLSPACE & vbNewLine & _ " " Const HEADER As String "工作表保护密码破解" Const …

Excel破解宏密码

1、打开Excel文件,如果是xlsm文件可跳过第一步,不是的就另存为xlsm文件(注意:这个时候不要启动宏,因为宏可能会报错,不让你保存) 2、将另存为的xlsm文件的后缀名更改为rar或zip 3、使用压缩工具…

excel表格保护单元格教程加破解(忘记密码情况下破解)

1.单元格保护,其他人接收到文件就无法对单元格内容进行修改 菜单栏-审阅-保护工作表-设置密码-重复密码 2.密码一旦丢失或遗忘,则无法恢复,只能通过取消密码的方式进行破解 1. 修改后缀为rar,并解压出文件夹 2. 进入路径 文件夹…

excel 工作表保护密码破解代码

今天应朋友所托破解一个遗忘了密码的excel文档,故有此,发博以记录。所用excel版本为Microsoft office Standard Edition 2003 操作流程如下: 一、 二、 三、 把下面代码粘贴到模块中,如下图,代码在图下提供 四、代…

Excel文档保护密码破解

为了保护Excel文档的安全性,往往会给Excel文档加密码,其实加密码有几种形式: 1、给整个文档加密码,打开时就得输入密码; 2、给sheet加编辑密码,可以查看,但是编辑时需要输入密码。 本文针对第二…

python2 破解 excel 密码

上代码 import pyexcelerator def test_passwords(filepath, passwords): # 读取加密文件 try: book pyexcelerator.parse_xls(filepath, passwordNone) return True except: # 尝试所有密码组合 for password in passwords: try: book pyexcelerator.parse_xls(filepath, pa…

Python知识点:lambda 表达式

大家好,欢迎来到 Crossin的编程教室 ! Python 是一门简洁的语言,lambda 表达式则充分体现了 Python 这一特点。 lambda 表达可以被看做是一种匿名函数。它可以让你快速定义一个极度简单的单行函数。譬如这样一个实现三个数相加的函数&#xf…