电脑越来越慢,发现硬盘空间被大量占用,发现是微信自己账号下的Image文件夹引起的,因不清楚里面的图片有些是否有用,想清理一下 。会代码的朋友可以看一下代码,自己做一下 。不会代码的朋友可以看一下最后的结果,是否是自己想要的结果 。如果是就去www.sdxlp.cn/tool/wechatdat这个地方看一下,是工具可以帮到你,比较糙,但好用 。
文章插图
文章插图
进去后发现都是dat格式,无法打开 。修改后缀后仍无法打开,被加密了 。
文章插图
二进制方式打开文件后发现是这样的 。通过异或运算加密了 。
文章插图
解码代码如下(批量操作):
#!/usr/bin/env Python3# -*- coding: utf-8 -*-import osdef main():indir = r'G:wx2019-06'outdir = r'G:wxout2019-06'# 获取文件夹下所有文件infiles = os.listdir(indir)# 计数成功的文件个数count = 0# 循环每个文件进行判断、转换for infile in infiles:# 获取文件名filename = infile[0:infile.find('.')]# 二进制读取文件f1 = open(os.path.join(indir, infile), 'rb')infilebytes = f1.read()newfile = []# 判断图片类型JPG,通过异或判定if (infilebytes[0] ^ 0xFF) == (infilebytes[1] ^ 0xD8):y1 = infilebytes[0] ^ 0xFFprint('%s,文件是JPG图片,每个字节是根据0x%X异或进行加密' % (infile, y1))# 字节进行异或转换,组合成新的文件for i in infilebytes:newbyte = i ^ y1newfile.Append(newbyte)newfile2 = bytes(newfile)# 写入新文件f2 = open(os.path.join(outdir, filename+'.jpg'), 'wb')f2.write(newfile2)count += 1# 判断图片类型PNG,通过异或判定elif (infilebytes[0] ^ 0x89) == (infilebytes[1] ^ 0x50):y1 = infilebytes[0] ^ 0x89print('%s,文件是PNG图片,每个字节是根据0x%X异或进行加密' % (infile, y1))for i in infilebytes:newbyte = i ^ y1newfile.append(newbyte)newfile2 = bytes(newfile)f2 = open(os.path.join(outdir, filename+'.png'), 'wb')f2.write(newfile2)count += 1# 判断图片类型GIF,通过异或判定elif (infilebytes[0] ^ 0x47) == (infilebytes[1] ^ 0x49):y1 = infilebytes[0] ^ 0x47print('%s,文件是GIF图片,每个字节是根据0x%X异或进行加密' % (infile, y1))for i in infilebytes:newbyte = i ^ y1newfile.append(newbyte)newfile2 = bytes(newfile)f2 = open(os.path.join(outdir, filename+'.gif'), 'wb')f2.write(newfile2)count += 1else:print('%s无法识别的类型!' % infile)print('识别出图片%d张' % count)if __name__ == '__main__':main()
运行结果:文章插图
【解密微信电脑版dat文件解码解密查看方法】
推荐阅读
- 三招教你永久关闭电脑弹窗广告
- 病毒都去哪了,为什么现在的电脑很少中毒
- 微信上如何开票?
- 电脑杀毒容易犯的错误有哪些
- 从0到1教你搭建微信小游戏项目
- 电脑的C盘爆满了该怎么处理?桌面也没放什么文件
- 电脑族冬季护肤 食疗让你吃出好皮肤
- 快手小店微信小商店等电商平台如何使用菜鸟打印电子面单
- 电脑系统内给硬盘分区或新加硬盘分区的方法
- Python实现用手机监控远程控制电脑