这个脚本仅作为自己学习python过程中的练习案例,通过从数字0开始不断递增数值+1,从而实现数字的枚举来不断进行xls文件密码的尝试。因此逻辑上比较简单,功能也非常简易。

仅适用于xls、xlsx文件中采用了纯数字密码的文件
引用了python第三方库:pywin32

代码如下:

import win32com.client
import os


# 获取密码函数
def get_sheetpw(xls, filename, password):
    try:
        xlsheet = xls.Workbooks.Open(filename, False, True, None, Password=password)
        print('=>', "破解成功,密码为:{}".format(password))
        xlsheet.Close()
        return True
    except:
        return False


# 主程序入口
if __name__ == '__main__':
    path = input("请输入您要处理的文件路径:")
    if path != '':
        if os.access(path, os.F_OK):
            xls = win32com.client.Dispatch("Excel.Application")
            xls.DisplayAlerts = 0
            i = 0
            print('->', path, "破解中,请耐心等待………")
            while True:
                is_done = get_sheetpw(xls, path, i)
                i = i + 1
                if is_done:
                    break
                print("->", i)
        else:
            print('=> 无法读取文件,', path)
    else:
        print("无效的路径,程序已自动关闭")

添加新评论