微信已经成为一个非常重要的社交工具。但是随着使用年限的增加,微信会产生大量占用定位器磁盘空的文件,很多文件都是dat格式,无***常打开。
这些文件其实都是聊天时候的图片,怎么才能正常看到图片并打开?
首先,找出我的微信dat文件在哪里。
一般来说,PC端的微信,安装的时候是默认安装的。自定义的话,只能想想安装在哪里了。
【C:usersadministratordocuments微信文件】
这是默认安装路径。找到后,进去就能看到以自己微信号命名的文件夹。
然后点进去之后都是微信pc的数据。
其次,看如何实现转换。
1.dat文件路径(确保现有路径存在,或者自己修改)
into_path = r'C:i***ge' # 微信i***ge.dat文件路径
2.输出图像路径
out_path = r"C:i***gejpg\"
3.输入代码
# weixin_I***ge.dat 破解# JPG 16进制 FF D8 FF# PNG 16进制 89 50 4e 47# GIF 16进制 47 49 46 38# 微信.bat 16进制 a1 86----->jpg ab 8c----jpg dd 04 --->png# 自动计算异或 值import osinto_path = r'C:i***ge' # 微信i***ge.dat文件路径 #我这把路径写死了,运行可执行文件前 先创建这个路径把dat文件放在这out_path = r"C:i***gejpg\"""" 解码 param f: 微信图片路径 param fn:微信图片目录下的.dat return:"""def i***geDecode(f, fn): dat_read = open(f, "rb") # 读取.dat 文件 xo = For***t(f) # 判断图片格式 并计算返回异或值 out = out_path + fn + ".jpg" # 图片输出路径 print("文件输出路径{}".for***t(out), end='nn') png_write = open(out, "wb") # 图片写入 dat_read.seek(0) # 重置文件指针位置 for now in dat_read: # 循环字节 for nowByte in now: newByte = nowByte ^ xo # 转码计算 png_write.write(bytes([newByte])) # 转码后重新写入 dat_read.close() png_write.close()def findFile(f): """ 寻找文件 param f:微信图片路径 return: """ fsinfo = os.listdir(f) # 把路径文件夹下的文件以列表呈现 print(fsinfo) for fn in fsinfo: # 逐步读取文件 temp_path = os.path.join(f, fn) # 拼接路径:微信图片路径+图片名 if os.path.isfile(temp_path): # 判断目录还是.dat #temp_path需为绝对路径,判断是否为文件,也可 if not os.path.isdir(temp_path): print('找到文件路径{}'.for***t(temp_path)) fn = fn[:-4] # 截取字符串 去掉后缀.dat i***geDecode(temp_path, fn) # 转码函数 else: passdef For***t(f): """ 计算异或值 各图片头部信息 jpeg:ff d8 ff png:89 50 4e 47 gif: 47 49 46 38 """ dat_r = open(f, "rb") try: a = [(0x89, 0x50, 0x4e), (0x47, 0x49, 0x46), (0xff, 0xd8, 0xff)] for now in dat_r: for xor in a: i = 0 res = [] nowg = now[:3]#取前三个 数据信息 for nowByte in nowg: res.append(nowByte ^ xor[i])#进行判断 i += 1 if res[0] == res[1] == res[2]:#三次异或值想等 说明就是那种格式 return res[0]#返回异或值 except: pass finally: dat_r.close()# 运行if __name__ == '__***in__': findFile(into_path)
也可以直接使用打包的exe软件。
注意
dat文件路径:C:i***ge 没有先创建好 将要转换的微信dat文件 放到此处图片输出路径:C:i***gejpg
转码后,只要不删除dat,不删除源文件,就不会有影响。该软件将读取文件,对其进行代码转换,并重新生成与源文件同名的文件。
我们可以按文件名排序或按类型排序,然后处理文件。
本文来自眼泪是回忆的常客投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/487064.html