python微信图片dat转码

python微信图片dat转码

点点

2021-05-21 10:04 阅读 1127 喜欢 1

环境

Python 3.6.3

模块

os

工具

程序员计算器

目的

通过python 实现电脑版微信中图片转码(原.dat转成JPG)

分析

微信图片是用异或值加密

1.先用工具打开.bat文件,但会看到一堆乱码。如下图

2.用notepad++的话可以,通过插件以16进制打开。打开如下图

3.再用 16进制打开JPG 图片如下图

知道了.bat的开头值为:e1 c6 .JGP的开头值为:ff d8 通过程序员计算器,计算异或值

计算公式:e1 Xor ff = 1e ;c6 Xor d8 = 1e

就知道16进制异或值为:0x1e

知道异或值就可以搞代码啦:

原理就是把.bat里面的16进制都值都异或0x1e ,

例子:0xe1 ^ 0x1e = 0xff; 0xc6 ^ 0x1e = 0xd8 ……

代码:

# weixin_Image.bat 破解
# JPG 16进制 FF D8 FF
# PNG 16进制 89 50 4e
# 微信.bat 16进制 e1 c6 e1
# key 值 1e1e 0x1e  weixin.bat-jpg

import os
#微信image文件路径
into_path = r'D:\Project0611\weixin_image\weixin1212800'
#微信图片转码后的保存位置
out_path = r'D:\Project0611\weixin_image\weixin1212800\\'

def imageDecode(f,fn):
"""
解码
:param f: 微信图片路径
:param fn:微信图片目录下的.bat
:return:
"""
# 读取.bat
dat_read = open(f,"rb")
# 图片输出路径
out = out_path + fn + ".jpg"
# 图片写入
png_write = open(out,"wb")
# 循环字节
for now in dat_read:
    for nowByte in now:
        # 转码计算
        newByte = nowByte ^ 0x1e
        # 转码后重新写入
        png_write.write(bytes([newByte]))
dat_read.close()
png_write.close()
# pass

def findFile(f):
"""
寻找文件
:param f:微信图片路径
:return:
"""
# 把路径文件夹下的文件以列表呈现
fsinfo = os.listdir(f)
# 逐步读取文件
for fn in fsinfo:
    # 拼接路径:微信图片路径+图片名
    temp_path = os.path.join(f,fn)
    # 判断目录还是.bat
    if not os.path.isdir(temp_path):
        print('文件路径:{}'.format(temp_path))
        print(fn)
        # 转码函数
        imageDecode(temp_path,fn)
    else:
        pass

  # 运行
 findFile(into_path)

结果图:

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


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
微信软件中我们可以使用黑色主题模式也可以使用默认主题模式,那么有的用户微信变成黑色主题了,想要调回来要怎么操作呢?现在就来看一下-微信变成黑色主题调回来方法吧。
手机已经成为了我们生活中的刚需,我们会在手机中安装很多的APP,我们常用的通讯软件与收付费软件肯定就是微信,微信已经成为了我们工作与生活中不可或缺的软件,有的小伙伴在使用微信软件时,觉得聊天页面中的字体大小不太适合,因此想要调整字体大小,但是却不知道如何设置?
我们现在可以在电脑上使用微信办公了。那么今天小编跟小伙伴们分享下电脑端微信中如何依靠日期找到自己的链接。
微信PC版一定要保证原来的路径目录,且一定要同时拷贝【All Users】目录。原因是【All Users】目录里保存一些配置信息及微信账号头像,如果不拷贝这个目录,只拷贝你的微信ID文件夹,导致的结果就是登录后会重新更新聊天记录文件,最终导致微信聊天记录迁移失败。
智能化的时代,微信是一个很火的社交软件,可以用来聊天,也可以用来支付,转账发朋友圈分享自己的生活等;微信加不了好友是什么原因呢,现在就让小编带小伙伴们来看一下吧。
微信已经成为我们必不可少的工具,聊天记录又是时常的过期或者找不到(刷机和删除的小伙伴们就不要想了),我们弄了一个小工具,可以导出文件,长时间的保存,内存少很多,很多小伙伴在使用工具时,先看好说明在使用,避免出现不必要的麻烦。
在使用微信的过程中,也会因为种种原因让我冲昏头脑,身体力行的删除了她,也清空了聊天记录,不过,冷静一段时间后,又想把她给加回来,但是发现自己根本没记住对方的微信号,即使记住了,也没用,因为微信现在不但可以改名称,更换手机号,而且每个账号一年可以修改一次微信账号,那么有什么办法查到已删除好友的微信号,并恢复手机上的微信聊天记录呢?
wxdat:是一款便捷式pc 版安卓系统微信dat 文件查看软件,在这里可以快速的调出微信的dat文件进行查看和编辑帮助用户在这里进行想要的操作,还能够将DAT文件里的图片进行规整,让用户更好的查看和编辑,软件体积小使用方便,快速安全,可在不联网的情况下使用,为用户带来便捷。