赞
踩
电脑硬盘空间被大量占用发现是微信自己账号下的Image文件夹引起的,因不清楚里面的图片有些是否有用。想逐一整理清理。
进去后发现都是dat格式,无法打开。修改后缀后仍无法打开,被加密了。
二进制方式打开文件后发现是这样的规律。通过异或运算加密了。
-
- jpg:
- ff d8 ff e0 20 10 4a 46 49 46 20 01 01
- 加密后:
- 17 30 17 08 e8 f8 a2 ae a1 ae e8 e9 e9
-
-
- png:
- 89 50 4e 47 0d 0a 1a 0a 20 20 20 0d
- 加密后:
- 61 b8 a6 af e5 e2 f2 e2 e8 e8 e8 e5
解码代码如下(批量操作):
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- 功能:电脑端微信用户图片DAT格式转化为图片
- 环境:python3.7
- 日期:2019/12/31 22:28
- 作者:指尖魔法师
- 版本:1.0
- """
- import os
-
- def main():
- indir = r'G:\wx\2019-06'
- outdir = r'G:\wx\out2019-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] ^ 0xFF
- print('%s,文件是JPG图片,每个字节是根据0x%X异或进行加密' % (infile, y1))
-
- # 字节进行异或转换,组合成新的文件
- for i in infilebytes:
- newbyte = i ^ y1
- newfile.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] ^ 0x89
- print('%s,文件是PNG图片,每个字节是根据0x%X异或进行加密' % (infile, y1))
- for i in infilebytes:
- newbyte = i ^ y1
- newfile.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] ^ 0x47
- print('%s,文件是GIF图片,每个字节是根据0x%X异或进行加密' % (infile, y1))
- for i in infilebytes:
- newbyte = i ^ y1
- newfile.append(newbyte)
- newfile2 = bytes(newfile)
- f2 = open(os.path.join(outdir, filename+'.gif'), 'wb')
- f2.write(newfile2)
- count += 1
- else:
- print('%s无法识别的类型!' % infile)
- print('识别出图片%d张' % count)
-
-
- if __name__ == '__main__':
- main()
运行结果:
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。