python微信图片dat转码

python微信图片dat转码

点点

2021-05-21 10:04 阅读 1129 喜欢 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


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
不知道从什么时候开始,微信成了人们与他人交流、通信、分享文件的必备工具,那么有的小伙伴们想要查询注册时间要怎么操作呢?
微信语音也就是微信的说话功能,语音相比较文字和图片来说,更加方便些了。咱们可以免去了码字的烦恼,消息传送也更加快捷。和亲密的人在微信上说过了甜言蜜语之后,是不是怕微信里面的语音记录都没有了,而且这个还不是手机备份被纳入的范围,所以如果你是因为刷机或者其他什么原因,也许都需要将微信的语音文件找到,保存好。
手机微信是我们常用的社交与支付软件,很多重要的东西需要我们保存,有些材料是我们取证的材料,可以作为法律证据支持的,丢了就可惜了。如果换了新的电脑我们该怎样去保存这些材料不丢失那!那就跟小编来吧!
腾讯手机版微信软件被很多小伙伴们使用,用来聊天,支付等,有的小伙伴们在使用该软件时,想要赚取视频号中的钱,但是却不知道如何赚取,那么小编就来为小伙伴们介绍一下吧。
在当下的时代中,微信成为了我们日常生活工作中不可或缺的工具,很多的小伙伴们对微信聊天记录的保存与导出有很大的执念,因为手机内存的问题,很多的小伙伴对聊天记录进行了备份,有的直接删除,可是发现删除后内存不会真正的减少,用不了几天又会非常的卡。有的小伙伴们会直接换新手机弄个大内存的。
在智能化的时代,智能手机基本人手一台,智能手机中的微信是我们经常使用的通讯软件,对于很多小伙伴们来说,在手机上是不怎么使用密码的,所以就会造成忘记秘密,很多小伙伴们想要知道微信怎么改密码,这样就可以一直记忆深刻,下面就让小编给小伙伴们介绍一下微信改密码的教程。
今天给小伙伴们分享一个实用小工具,微信对话生成器,除了聊天截图,还支持各种红包截图、支付截图、钱包截图、朋友圈集赞截图等等。
手机微信中群聊是我们在微信使用中不可缺少的一个功能,并且就算好友之间不是微信好友关系也是可以聊天的,但是很多群聊都是不经过我们同意就拉我们进群的,我们也并没有保存到群聊功能中,所以有用户想要知道微信怎么查看自己所有的群聊,下面就让小编给小伙伴们介绍一下查看的具体方法。