pc端微信用户图片DAT格式解码为图片

pc端微信用户图片DAT格式解码为图片

点点

2021-05-17 20:56 阅读 927 喜欢 2

电脑越来越慢,发现硬盘空间被大量占用,发现是微信自己账号下的Image文件夹引起的,因不清楚里面的图片有些是否有用,想清理一下。

会代码的朋友可以看一下代码,自己做一下。

不会代码的朋友可以看一下最后的结果,是否是自己想要的结果。如果是就去sdxlp.cn/tool/wechatdat这个地方看一下,是工具可以帮到你,比较糙,但好用。

进去后发现都是dat格式,无法打开。修改后缀后仍无法打开,被加密了。

二进制方式打开文件后发现是这样的。通过异或运算加密了。

解码代码如下(批量操作):

    #!/usr/bin/env python3
   # -*- coding: utf-8 -*-
    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()

运行结果:

转载请注明出处: http://sdxlp.cn/article/weixin002.html


如果对你有用的话,请赏给作者一个馒头吧 ...或帮点下页面底部的广告,感谢!!

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
电脑版微信dat是用什么软件打开?微信dat是什么?如何查看呢?如果小伙伴们常用微信办公,很可能会发现微信的文件夹占据着磁盘的大量空间,如果仔细查找的话,还会发现有非常非常之多的dat文件,观察仔细的小伙伴会知道,这些dat文件都是图片,在聊天的时候产生的,但是呢..却无法使用正常的看图软件打开。
此文章方法原理:微信PC版一定要保证原来的路径目录,且一定要同时拷贝【All Users】目录。原因是【All Users】目录里保存一些配置信息及微信账号头像,如果不拷贝这个目录,只拷贝你的微信ID文件夹,导致的结果就是登录后会重新更新聊天记录文件,最终导致微信聊天记录迁移失败。
互联网的崛起彻底改变人们的生活方式,虽然我国互联网起步较晚,但如今已经彻底渗入到方方面面。而社交软件的出现也打破人与人之间传统的交流壁垒。在国内众多社交软件中,微信无疑是社交领域的巨头。现如今有好多的小伙伴们都在使用微信,微信已经成为人们装机必备的社交软件
今天给小伙伴们分享一个实用小工具,微信对话生成器,除了聊天截图,还支持各种红包截图、支付截图、钱包截图、朋友圈集赞截图等等。
我们的微信在每部设备上登录过之后都会留下信息,那么这个时候就会有小伙伴比较好奇微信如何删除登录过的设备信息呢?
微信是我们每天都需要使用的软件,里面承载了工作和生活中很多的点点滴滴。很多小伙伴们都想要提取导出微信的聊天记录保存备份好,方便日后回顾或搜索查询。
在当下微信是现在十分常用的一款社交、办公软件,有些新用户不知道怎么找到电脑微信文件默认保存位置,接下来小编就给小伙伴们介绍一下具体的操作步骤。
电脑版微信是应该是小伙伴们在电脑上最常用的聊天工具了,不过在使用的过程中小伙伴们会碰到不少问题,就比如说不知道电脑微信的图片在哪个文件夹,为此小编到网上搜集了相关资料,下面就为小伙伴们带来电脑版微信的图片保存位置,小伙伴们如果有需要微信过期图片恢复的话,可以来私信一下小编哦。