首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何用Python破解PPTX的修改权限密码

缘起:

最近要辅导NOIP,光用“一本通”实在有点乏力,于是忍痛花了一百多大洋从网上买了一套课件。内容确实不错,物有所值,只可惜是只读的,有修改密码。每张幻灯片上都有别人的LOGO,而且不能微调与整合,这就有点不爽了。那么,能不能干掉这个密码呢?

尝试:

我们先尝试着,处理单个文件。

以前做PPTX图片批量下载的时候,曾经了解到,PPTX的本质其实是个压缩包,直接改扩展名为ZIP就能解压。百度PPTX密码破解,发现修改权限密码,其实只要找到压缩包中的“presentation.xml”并删除其中的“modifyVerifier”节点,再重新压缩后改回PPTX扩展名就可以。

没错就是这么简单,所以微软当年这个功能显然是防君子不防小人的一个功能,可以仅仅是怕误修改吧。

随便给个Step传送门:

https://jingyan.baidu.com/article/ed2a5d1f3c93dc09f6be17e6.html

思路:

一个文件的处理,就是这么简单。那么,如果批量呢,比如一章中的所有PPTX,总不可能一个个的手工处理吧?哈哈,是不是想起一句话,“人生苦短,我用Python”?如何批量,我们来梳理一下:

遍历文件夹,把里面所有PPTX读到一个列表中。

循环访问列表,重命名所有的PPTX文件为ZIP。

解压每个ZIP,按上述规则删除加密信息。

压缩修改后的目录,拷贝ZIP文件到新位置。

批量将ZIP改回为PPTX文件。

用到的知识点:

文件遍历访问与命名,主要用的OS库的walk方法。

压缩与解压缩,Python居然自带了一个zipfile库,很强大。

批量重命名文件扩展名,用os.listdir即可。

字符串的定位与删除,用replace替换,文件流中write重新写入。

实现:

本部分用到的知识点,比较简单,而且参考资料很多。所以文件夹压缩、批量重命名,基本是采用网上固有代码生成函数。其它的,核心就是写好循环遍历即可:

扩展:

本文代码经测试,只适用修改密码的破解。如果要破解打开密码,还是要通过暴力破解,你需要一个好一点的数据字典。当然,密码破解更多的是应急,或者防止自己忘记。对于原创有独特价值的文档,还是建议付费支持。

结语

其实高中学Python编程,真的不是要死抠语法,大搞算法。主要还是在遇到问题,特别是批量处理类的难题时,能有个清晰的思路,并利用Python丰富的库和互联网资源快速的搭建框架,实现我们的目标。

唯此,编程语言才真正成为一个辅助工具;也唯此,编程思维,才成为一种核心素养。大抵,这就是新课改的方向,和选用Python的初衷吧。

附:代码百度云盘链接

https://pan.baidu.com/s/1mU94W1PkpYm1r2Vp-8R5sg 密码:wchw

更多python基础入门学习,可以购买Python基础课程:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180921G262IS00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券