微信Dat文件解码,PC微信加密图片解密工具

前言

PC微信会下载图片到本地,但是为.dat后缀的加密保护文件。

不过已经有网友早就分享了解密方式,这款软件就是基于此用C#语言写的解密工具。

 

话不多说,3 2 0,我们开始吧~

 

软件说明

通过异或对文件进行简单的加解密的很常规的做法。微信将收取到的文件,对每个字节进行异或加密,保存为dat文件。

其中异或的值为反推出出来,需要知道文件类型,才能确定文件的头文件特征,才能反推出异或值,所以这个工具是写死的文件类型为jpg的 ,头文件特征为 FFD8FFE1
异或值=FF^加密文件第一个字节。

 

使用方法

打开 WeChatImageDatEncryption.exe ,输入图片的位置按回车即可。

如果你没有修改过位置,那么位置就是在 %USERPROFILE%\Documents\WeChat Files\你的微信名\data

如果你确实不知道在哪里,可以打开微信设置,查看通用设置>打开文件夹,在进入到 Data 目录即可。

 

解密出来的文件会放在 WeChatImageDatEncryption.exe 同级目录的 Data 文件夹里。

 

源码说明

我在上方也说了原理。先确定原本的文件类型,就能确定文件的头文件特征,然后查看dat文件的头文件特征,就能反推出异或值。

每个账号或者客户端对那个异或值可能是不一样的,所以不同版本的微信可能就会失效,但是你知道原理之后,就可以自己计算异或值啦~我把源码放出来,你们也可以参考。

C# 版源码

见附件。

 

Python 版源码

# -*- coding: utf-8 -*-
# @Time    : 3/27/2019 21:54
# @Author  : MARX·CBR
# @File    : 微信Dat文件转图片.py

import os

def imageDecode(f,fn):
    dat_read = open(f, "rb")
    out='P:\\'+fn+".png"
    png_write = open(out, "wb")
    for now in dat_read:
        for nowByte in now:
            newByte = nowByte ^ 0x36
            png_write.write(bytes([newByte]))
        dat_read.close()
        png_write.close()

def findFile(f):
    fsinfo = os.listdir(f)
    for fn in fsinfo:
        temp_path = os.path.join(f, fn)
        if not os.path.isdir(temp_path):
            print('文件路径: {}' .format(temp_path))
            print(fn)
            imageDecode(temp_path,fn)
        else:
            ...

path = r'C:\Users\输入自己微信存储路径\Data'
findFile(path)

 

下载地址

见附件。

 

Hey,你好哇。
影视剪辑 | AE | Pr | 电脑技术 | 摄影摄像 | 电影 | 电视剧 | 二次元
我们下次见

 

收集的所有资源均来自网络,仅供私下交流学习之用,任何涉及到商业目的的均不能使用,否则产生的一切后果由您自行承担,提供资源但是不对任何资源负法律责任,所有资源请在你下载后24小时删除。 如有侵权,联系 admin#mail.320nle.com
320印象 » 微信Dat文件解码,PC微信加密图片解密工具

1 评论

发表评论