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

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

点点

2021-05-17 20:56 阅读 1020 喜欢 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


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
办公原因,电脑上微信开着,发现目录的体积是越来越大,特别是群多的,视频分享一堆,还自动下载。
现在微信是小伙伴们常用的社交软件,拥有大量的用户,给广大用户提供了多种消息传递方式,如:文字、图片、视频、语音,其中语音备受青睐,尤其是中老年用户
手机已经成为了我们生活中的刚需,我们会在手机中安装很多的APP,我们常用的通讯软件与收付费软件肯定就是微信,微信已经成为了我们工作与生活中不可或缺的软件,有的小伙伴在使用微信软件时,觉得聊天页面中的字体大小不太适合,因此想要调整字体大小,但是却不知道如何设置?
微信是很多的小伙伴在使用的一款社交聊天软件,在使用时有的小伙伴好奇微信怎么在微信群里发起群收款呢?现在就和小编来看一下微信在微信群里发起群收款的方法吧。
病毒肆虐的现在,让我们的生活与工作全部到了线上,小编想以后就是会延续这样的交流方式啦!微信是我们常用的一款社交软件,给我们的生活带来了极大的便利和乐趣,深受用户欢迎.
日常生活工作中,我们会经常的使用到微信,微信的黑名单是无法在好友列表中找到的,下面就让小编给小伙伴们介绍一下微信黑名单恢复教程。
嘟嘟,嘟嘟,微信提示声设置方法(高级的助攻),微信的提示音是不是可以自己修改?现在教程来了,个人感觉这个声音还是可以的,选择一个自己喜欢的就可以,方法都是一样的,让微信变的不一样,要可以输入自己朋友的声音,这个就看个人爱好啦!
每年苹果发布会过后,应该都会有部分使用安卓手机的小伙伴转到iPhone的阵营里,手机中很多的资料都需要转移到新手机上,尤其是当下的微信聊天记录,珍贵的相片等,那当购买新iPhone后,如何将Android的资料转移到iOS上呢?相信小伙伴们也很好奇,不同系统也可以转移吗?现在小编就来教小伙伴们如果把Android的资料转移到iOS里,跟小编一起看看吧!