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

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

点点

2021-05-17 20:56 阅读 804 喜欢 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文件转成普通的JPG图片格式即可
智能手机日益普及的今天,安装各类应用已经成为我们日常生活的一部分。然而,有时我们会遇到一些棘手的问题,现在QQ,微信以及TIM接收的APK文件直接会变成后缀为apk.1的文件,无法直接进行安装,导致很多网友很苦恼。今天小编给小伙们带来的这款软件就是解决这个问题的。
随着智能化时代的来临,智能手机人手一个,手机内有很多的APP但是微信确实是现在十分常用的一款社交软件,有些新用户不知道手机微信如何创建群相册?
现在微信已经成为了我们生活与工作都离不开的软件,小伙伴们有没有遇到过这种情况?发现喜欢的表情包,想添加却发现已经下架,无法保存,收藏或者下载,每当这时就突然好难受有没有,甚至夜不能寐。跟小编来看一下。
很多小伙伴们私信问小编,苹果电脑上的微信接收的文件保存在什么地方?小编基本上是不用苹果系列的东西的,就去朋友电脑查找一下,可以帮小伙伴解惑啦!
微信是一款很多小伙伴都在使用的一款社交软件,在使用的时候有很多的小伙伴比较好奇怎样设置微信拍一拍后缀文字呢?现在就来看一下设置微信拍一拍后缀文字的方法吧。
微信故意把入口隐藏的很深,故意隐藏让小伙伴们找到这个关闭的方法,今天小编给小伙伴们演示一下。