在使用网盘的时候会对文件类型进行检查,这个脚本主要是通过修改文件类型标志来实现修改文件类型的,主要是zip格式和txt格式文件的互换。
用法
将python脚本和待加密或解密的文件放在同一个文件夹中,多次运行该脚本即可实现加密和解密。得到的zip可以直接解压缩然后查看文件。
注意
此脚本需要结合python环境;
不要随意修改文件名,这个可以看看代码。
如果运行出错很有可能是路径问题,建议再新建文件夹中操作
示例图片
今天突然发现微博图床不能用了,就不发图片的,内容也不难,看代码部分就行
import os # 2022-06-12 修改zip文件为txt,方便阿里云盘的分享限制 # 目前阿里云通过文件后缀名和文件格式信息来判断文件是否受限 # zip文件的格式信息为(0x04034b50)小端表示为504b0304,是使用范围最广的一种压缩格式 # 解决方法是将50替换为00(其他的十六也可以),将zip改为txt或其他可分享的格式 def encodeZip(fn): """ 将不可分享的zip加密为可分享的txt 加密:修改.zip文件并对其重命名为5.txt :param fn: 要处理文件的名称 """ with open(fn, 'rb+') as ff: if ff.writable(): ff.write(b'\x00') # 修改后进行重命名为xxx5.txt dst = fn[0:-4]+'5.txt' os.rename(fn, dst) def decodeTxt(fn): """ 将无法使用的txt解密为可使用的zip压缩文件 解密:修改.zip文件并对其重命名为5.txt :param fn: 要处理文件的名称 """ with open(fn, 'rb+') as ff: if ff.writable(): ff.write(b'\x50') # 将名为为xxx5.txt 改为 xxx.zip dst = fn[0:-5]+'.zip' os.rename(fn, dst) if __name__ == "__main__": dirs = os.listdir() for dr in dirs: if dr[-3:] == "zip": encodeZip(dr) if dr[-5:] == "5.txt": decodeTxt(dr) |