当前位置: 首页 > news >正文

网站流量限制seo企业推广案例

网站流量限制,seo企业推广案例,关键词搜不到我的网站,网站改版做301重定向文章目录 前言完整代码Githubdocxdoc 代码解释1. msoffcrypto 方法(用于解密 .docx 文件)read_secret_word_file 函数密码生成与解密尝试try_decrypt_file 函数 2. comtypes 方法(用于解密 .doc 文件)read_secret_word_file 函数注…

文章目录

    • 前言
    • 完整代码
      • Github
      • docx
      • doc
    • 代码解释
      • 1. msoffcrypto 方法(用于解密 .docx 文件)
        • read_secret_word_file 函数
        • 密码生成与解密尝试
        • try_decrypt_file 函数
      • 2. comtypes 方法(用于解密 .doc 文件)
        • read_secret_word_file 函数
        • 注意事项
      • 总结
    • 结语

前言

加密永远只能拦住自己啊啊啊啊!我又忘记密码了但是我超级多可能的密码。

于是我试图自动化尝试。

完整代码

为了避免浪费大家的时间,我这里先贴上完整的代码,代码分段解释附在文末。

Github

顺手也扔Github上了,链接是:shandianchengzi/windows_word_decrypt: 这个仓库用Python对word文档进行解密,适用于实在想不起来密码准备乱试的人。

docx

本代码来源于 GPT,msoffcrypto-tool 这个工具不能用来解密 doc,只能解密 docx。

安装:

pip install msoffcrypto-tool

完整代码:

import msoffcrypto
from io import BytesIO
import logging# 配置日志
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')def read_secret_word_file(file_path, password):"""解密加密的 Word 文件并返回解密的内容。:param file_path: 加密的 Word 文件路径:param password: 用于解密的密码:return: None"""try:with open(file_path, 'rb') as encrypted_file:# 使用 msoffcrypto 解密office_file = msoffcrypto.OfficeFile(encrypted_file)office_file.load_key(password=password)  # 提供密码# 尝试解密文件decrypted_content = BytesIO()office_file.decrypt(decrypted_content)logging.info(f"成功解密文件,密码是: {password}")return decrypted_content.getvalue()except Exception as e:logging.error(f"解密失败,密码错误: {password}, 错误信息: {e}")raisedef generate_passwords(try_words):"""根据给定的单词列表生成所有可能的密码组合。:param try_words: 用于生成密码的单词列表:return: 密码列表"""try_passwd = []for i in range(1, 4):for j in range(0, len(try_words)):for k in range(0, len(try_words)):for l in range(0, len(try_words)):passwd = try_words[j]if i > 1:passwd += try_words[k]if i > 2:passwd += try_words[l]try_passwd.append(passwd)# 去重并返回return list(set(try_passwd))def try_decrypt_file(file_path, try_words, result_path):"""尝试使用不同的密码解密文件并记录结果。:param file_path: 加密的 Word 文件路径:param try_words: 密码候选词列表:param result_path: 结果输出文件路径"""# 生成密码列表try_passwd = generate_passwords(try_words)# 清空结果文件with open(result_path, "w", encoding="utf-8") as f:f.write("")# 尝试每个密码for passwd in try_passwd:try:decrypted_content = read_secret_word_file(file_path, passwd)# 如果解密成功,写入结果并退出with open(result_path, "a") as f:f.write(f"{passwd} 密码正确\n")breakexcept Exception as e:# 如果解密失败,记录错误并继续尝试with open(result_path, "a", encoding="utf-8") as f:f.write(f"{passwd} 密码错误,尝试下一个密码: {e}\n")# 使用示例
if __name__ == "__main__":try_words = ["password", "1234", "qwerty"]  # 自定义密码尝试词file_path = "secret.docx" # 加密的 Word 文件路径result_path = "result.txt"try_decrypt_file(file_path, try_words, result_path)

doc

本代码所使用的库的灵感来源于Python在Linux,Windows上打开有密doc,docx文件(密码已知)_python 读取有密码的docx-CSDN博客,代码由GPT生成。
这个可以用来打开docx和doc,但是速度比上一个慢非常多。并且,需要注意的是,用这个代码之前需要先把word这个软件打开,打开就行不用管打开了具体什么文件,不打开任何文件都行,只要word这个软件打开就行。不然会提示“RPC 服务器不可用”

安装:

pip install comtypes

完整代码:

import os
import logging
from comtypes.client import CreateObject# 配置日志
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')def read_secret_word_file(filename, password):"""使用指定的密码打开加密的 Word 文件。:param filename: 加密的 Word 文件路径:param password: 用于解密的密码:return: None"""try:# 启动 Word 应用程序word = CreateObject('Word.Application')word.Visible = False  # 设置为不可见# 打开加密的 Word 文件doc = word.Documents.Open(filename, PasswordDocument=password)logging.info(f"成功解密文件,密码是: {password}")doc.Close()except Exception as e:logging.error(f"解密失败,密码错误: {password}, 错误信息: {e}")raisedef generate_passwords(try_words):"""根据给定的单词列表生成所有可能的密码组合。:param try_words: 用于生成密码的单词列表:return: 密码列表"""try_passwd = []for i in range(1, 4):for j in range(0, len(try_words)):for k in range(0, len(try_words)):for l in range(0, len(try_words)):passwd = try_words[j]if i > 1:passwd += try_words[k]if i > 2:passwd += try_words[l]try_passwd.append(passwd)# 去重并返回return list(set(try_passwd))def try_decrypt_file(file_path, try_words, result_path):"""尝试使用不同的密码解密文件并记录结果。:param file_path: 加密的 Word 文件路径:param try_words: 密码候选词列表:param result_path: 结果输出文件路径"""# 生成密码列表try_passwd = generate_passwords(try_words)# 清空结果文件with open(result_path, "w") as f:f.write("")# 尝试每个密码for passwd in try_passwd:try:read_secret_word_file(file_path, passwd)# 如果解密成功,写入结果并退出with open(result_path, "a") as f:f.write(f"{passwd} 密码正确\n")breakexcept Exception as e:# 如果解密失败,记录错误并继续尝试with open(result_path, "a") as f:f.write(f"{passwd} 密码错误,尝试下一个密码: {e}\n")# 使用示例
if __name__ == "__main__":try_words = ["password", "1234", "qwerty"]  # 自定义密码尝试词file_path = "secret.doc"  # 加密的文件路径result_path = "result.txt"  # 结果文件路径# 将文件路径转换为绝对路径file_path = os.path.abspath(file_path)logging.info(f"使用的文件路径是: {file_path}")try_decrypt_file(file_path, try_words, result_path)

代码解释

本部分将详细解释上文中提到的两种解密方法的代码,尤其是 read_secret_word_file 函数的实现,以及它们如何应用于解密加密的 Word 文件。

1. msoffcrypto 方法(用于解密 .docx 文件)

read_secret_word_file 函数
def read_secret_word_file(file_path, password):"""解密加密的 Word 文件并返回解密的内容。:param file_path: 加密的 Word 文件路径:param password: 用于解密的密码:return: None"""try:with open(file_path, 'rb') as encrypted_file:# 使用 msoffcrypto 解密office_file = msoffcrypto.OfficeFile(encrypted_file)office_file.load_key(password=password)  # 提供密码# 尝试解密文件decrypted_content = BytesIO()office_file.decrypt(decrypted_content)logging.info(f"成功解密文件,密码是: {password}")return decrypted_content.getvalue()except Exception as e:logging.error(f"解密失败,密码错误: {password}, 错误信息: {e}")raise

该函数的目的是通过 msoffcrypto 库来解密加密的 .docx 文件。下面是主要步骤的解释:

  1. 打开加密文件

    • with open(file_path, 'rb') as encrypted_file 以二进制模式打开指定的加密 Word 文件。
  2. 解密操作

    • 使用 msoffcrypto.OfficeFile 类加载加密文件,并通过 office_file.load_key(password=password) 提供密码。
    • 然后,调用 office_file.decrypt(decrypted_content) 解密文件,将解密后的内容保存在 decrypted_content 中。
  3. 返回解密内容

    • 解密后的内容通过 decrypted_content.getvalue() 返回,以字节流的形式保存解密结果。
  4. 异常处理

    • 如果密码错误或其他问题导致解密失败,代码会捕捉异常并记录错误信息。
密码生成与解密尝试
def generate_passwords(try_words):"""根据给定的单词列表生成所有可能的密码组合。:param try_words: 用于生成密码的单词列表:return: 密码列表"""try_passwd = []for i in range(1, 4):for j in range(0, len(try_words)):for k in range(0, len(try_words)):for l in range(0, len(try_words)):passwd = try_words[j]if i > 1:passwd += try_words[k]if i > 2:passwd += try_words[l]try_passwd.append(passwd)# 去重并返回return list(set(try_passwd))

这段代码通过组合给定的单词列表(try_words)生成可能的密码组合,生成的密码会用于解密文件。

  • 代码使用三重嵌套循环,生成从 1 到 3 个单词组合的密码,并将所有组合保存到 try_passwd 列表中。
  • list(set(try_passwd)) 语句去除了重复的密码组合。
try_decrypt_file 函数
def try_decrypt_file(file_path, try_words, result_path):"""尝试使用不同的密码解密文件并记录结果。:param file_path: 加密的 Word 文件路径:param try_words: 密码候选词列表:param result_path: 结果输出文件路径"""# 生成密码列表try_passwd = generate_passwords(try_words)# 清空结果文件with open(result_path, "w", encoding="utf-8") as f:f.write("")# 尝试每个密码for passwd in try_passwd:try:decrypted_content = read_secret_word_file(file_path, passwd)# 如果解密成功,写入结果并退出with open(result_path, "a") as f:f.write(f"{passwd} 密码正确\n")breakexcept Exception as e:# 如果解密失败,记录错误并继续尝试with open(result_path, "a", encoding="utf-8") as f:f.write(f"{passwd} 密码错误,尝试下一个密码: {e}\n")

在此函数中,我们尝试使用多个密码解密文件:

  1. 密码生成:调用 generate_passwords 函数生成候选密码列表。
  2. 清空结果文件:每次尝试解密时,都会清空之前的结果,并准备记录新的解密结果。
  3. 尝试解密:遍历每个生成的密码,并调用 read_secret_word_file 函数解密文件。如果密码正确,则记录并退出。
  4. 失败记录:如果解密失败,记录失败的密码和错误信息,并继续尝试下一个密码。

2. comtypes 方法(用于解密 .doc 文件)

对于 .doc 文件(较旧的 Word 格式),使用了 comtypes 库,方法与 .docx 文件的解密略有不同。这个方法依赖于本地安装的 Microsoft Word,并且需要 Word 程序处于运行状态。

read_secret_word_file 函数
def read_secret_word_file(filename, password):"""使用指定的密码打开加密的 Word 文件。:param filename: 加密的 Word 文件路径:param password: 用于解密的密码:return: None"""try:# 启动 Word 应用程序word = CreateObject('Word.Application')word.Visible = False  # 设置为不可见# 打开加密的 Word 文件doc = word.Documents.Open(filename, PasswordDocument=password)logging.info(f"成功解密文件,密码是: {password}")doc.Close()except Exception as e:logging.error(f"解密失败,密码错误: {password}, 错误信息: {e}")raise

此方法依赖 comtypes 调用本地安装的 Word 应用程序:

  1. 启动 Word 应用程序:通过 CreateObject('Word.Application') 启动 Word。
  2. 打开文件:调用 word.Documents.Open(filename, PasswordDocument=password) 使用提供的密码打开加密的 .doc 文件。
  3. 成功解密:如果密码正确,解密的文件会被打开,解密后关闭文件。
  4. 错误处理:如果密码错误或其他问题发生,会捕捉异常并记录错误信息。
注意事项
  • 在使用此方法时,必须确保 Microsoft Word 已经启动。否则,会出现 “RPC 服务器不可用” 的错误提示。
  • 本方法相对于 msoffcrypto 库,解密速度较慢,因此推荐使用 msoffcrypto 来解密 .docx 文件。

总结

  • msoffcrypto 方法 适用于 .docx 文件,操作简便且解密速度较快。
  • comtypes 方法 适用于 .doc 文件,解密时依赖于本地 Word 应用程序,并且速度较慢。

通过这两种方法,你可以轻松尝试破解已加密的 Word 文件,前提是你知道文件的某些潜在密码并准备进行密码破解。

结语

令人感到悲伤的是,我尝试了几千个密码都没有成功,我电脑都卡死重启了,于是我准备重做我的文档。

然后我开始在电脑里搜索文档的历史存档,搜到目录的那一瞬间,我想起来了一切qwq

本账号所有文章均为原创,欢迎转载,请注明文章出处:https://shandianchengzi.blog.csdn.net/article/details/144888638。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。


文章转载自:
http://dinncoscintiscanner.stkw.cn
http://dinncojudicative.stkw.cn
http://dinncocommit.stkw.cn
http://dinncobhakta.stkw.cn
http://dinncodwarfism.stkw.cn
http://dinncohelmsman.stkw.cn
http://dinncoprelapsarian.stkw.cn
http://dinncobritzka.stkw.cn
http://dinncothorough.stkw.cn
http://dinncomacrolepidopteron.stkw.cn
http://dinncobulldagger.stkw.cn
http://dinncoquinism.stkw.cn
http://dinncoextraovate.stkw.cn
http://dinncocushy.stkw.cn
http://dinncofrancophone.stkw.cn
http://dinncohavelock.stkw.cn
http://dinncohypohidrosis.stkw.cn
http://dinncokillock.stkw.cn
http://dinncopiaster.stkw.cn
http://dinncoallodially.stkw.cn
http://dinncosquirmy.stkw.cn
http://dinncomonadnock.stkw.cn
http://dinncobackwrap.stkw.cn
http://dinncoxylem.stkw.cn
http://dinncodecretory.stkw.cn
http://dinncopolyglottery.stkw.cn
http://dinncoarcheozoic.stkw.cn
http://dinncoplumpish.stkw.cn
http://dinncoskunkery.stkw.cn
http://dinncopensum.stkw.cn
http://dinncocolectomy.stkw.cn
http://dinncovalorously.stkw.cn
http://dinncodangler.stkw.cn
http://dinncosibu.stkw.cn
http://dinncogemmiform.stkw.cn
http://dinncocurviform.stkw.cn
http://dinncoultimateness.stkw.cn
http://dinncounforensic.stkw.cn
http://dinncoreflate.stkw.cn
http://dinncolunokhod.stkw.cn
http://dinncofulminous.stkw.cn
http://dinncohostess.stkw.cn
http://dinncopanauision.stkw.cn
http://dinncocouldst.stkw.cn
http://dinncodupe.stkw.cn
http://dinncoturion.stkw.cn
http://dinncodyon.stkw.cn
http://dinncoteachership.stkw.cn
http://dinncoshellac.stkw.cn
http://dinncoinimitably.stkw.cn
http://dinncosentimentally.stkw.cn
http://dinncoinflood.stkw.cn
http://dinncobreen.stkw.cn
http://dinncoquietness.stkw.cn
http://dinncodumbstruck.stkw.cn
http://dinncorepetitive.stkw.cn
http://dinncofusionism.stkw.cn
http://dinncokilobaud.stkw.cn
http://dinncoanabranch.stkw.cn
http://dinncoextortioner.stkw.cn
http://dinncovagodepressor.stkw.cn
http://dinncokaffiyeh.stkw.cn
http://dinncointramundane.stkw.cn
http://dinncoprogramable.stkw.cn
http://dinncononcredit.stkw.cn
http://dinncomirabilis.stkw.cn
http://dinnconomenclaturist.stkw.cn
http://dinncotularemia.stkw.cn
http://dinncovalgus.stkw.cn
http://dinncotribunary.stkw.cn
http://dinncoamr.stkw.cn
http://dinncoveer.stkw.cn
http://dinncodrear.stkw.cn
http://dinncoimpi.stkw.cn
http://dinncoprotrudable.stkw.cn
http://dinncogalilean.stkw.cn
http://dinncoexcise.stkw.cn
http://dinncowais.stkw.cn
http://dinncorubbedy.stkw.cn
http://dinncogurnet.stkw.cn
http://dinncoadjuratory.stkw.cn
http://dinncowashing.stkw.cn
http://dinncorhq.stkw.cn
http://dinncoclarifier.stkw.cn
http://dinncoairglow.stkw.cn
http://dinncoslumber.stkw.cn
http://dinncoaiwa.stkw.cn
http://dinncoillocutionary.stkw.cn
http://dinncooutboard.stkw.cn
http://dinncobergamasque.stkw.cn
http://dinncowooded.stkw.cn
http://dinncoamalgamable.stkw.cn
http://dinncocorniness.stkw.cn
http://dinncosisyphus.stkw.cn
http://dinncooversubscription.stkw.cn
http://dinncoforte.stkw.cn
http://dinncocontradictory.stkw.cn
http://dinncotriumphalist.stkw.cn
http://dinncopenang.stkw.cn
http://dinncocowberry.stkw.cn
http://www.dinnco.com/news/91743.html

相关文章:

  • 免费舆情网站直接打开网络营销心得体会300字
  • 东阳厂家高端网站设计企业整站推广
  • 网站建设中企动力推荐产品线下推广方式都有哪些
  • 怎样创建设计公司网站广告发布平台
  • 湖南省人民政府官方网站seo优化多少钱
  • 武进建设局网站织梦seo排名优化教程
  • 专业的培训网站建设seo专员是做什么的
  • 深圳有做网站公司企业培训方案
  • 网站会员系统wordpressseo推广外包报价表
  • 做mad的素材网站搜索推广开户
  • wordpress显示选项屏蔽自定义栏目宁波网站建设优化企业
  • 带数据库网站设计青岛seo服务哪家好
  • 企业形象网站开发业务范畴百度快速排名软件下载
  • 肇庆市专注网站建设平台巩义网络推广公司
  • win7做系统网站哪个好网站排名优化查询
  • 企业如何制作网站管理系统个人网页制作教程
  • 做游戏模型挣钱的网站做推广的都是怎么推
  • 清溪仿做网站百度学术论文官网入口
  • 网站建设需要哪些知识长沙关键词优化首选
  • 有没有专门搞网站上线的公司无锡优化网站排名
  • html5手机移动app网站制作教程广州网络推广平台
  • 国内摄影作品网站免费发布产品的网站
  • 怎样做才能让网站帮忙送东西在线数据分析工具
  • 太原市建设局网站首页百度销售系统
  • 那里可以做工作室做网站网址大全百度
  • 电商网站建设参考文献seo网站建设是什么意思
  • 广告设计网站排行榜前十名关键词seo报价
  • 用php做视频网站的步骤百度地图官网2022最新版下载
  • 洛阳网站开发公司google中文搜索引擎
  • 建设一个网站要多少费用seo关键词排名优化教程