python微信图片dat转码

python微信图片dat转码

点点

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


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
在平时聊微信过程中,微信在手机上的图片和在电脑上的图片,虽然在微信中可以查看,但是脱离微信后,在微信个人文件夹里看到的都是加密之后的DAT文件,这些都是个人的重要资料文件,却无法查看,需要整理的时候怎么办?把这些被加密过的DAT文件转成普通的JPG图片格式即可
呵呵,小编又带小伙伴们涨知识啦!在微信中,为何要绑定管理员微信号呢?安全角度:一些操作如:修改密码、群发信息,需要管理员同意才可操作,其它人可能登录微信后台,但没有权限,没有管理员的授权是无法进行重要信息的操作,那么如何绑定管理员微信号呢?
安卓手机版微信软件被很多小伙伴使用,用来聊天,支付等,有的小伙伴在使用该软件时,发现一点击链接,微信就会闪退,那么如何解决这一问题呢?小编就来为小伙伴们介绍一下吧。
越来越普遍的微信,有越来越多的人使用微信来传收文件,那么我们怎么找到别人发来的文件呢?小编就来为小伙伴们介绍一下吧。
手机微信现在已经是我们日常生活中必备的生活神器,原来微信中我们通常只能一个一个的删除好友,如果是需要删除的好友太多的话,就需要很繁琐的删除步骤(或是使用第三方软件),所以很多微信用户想要知道2022微信怎么批量删除好友,可以轻松的解决删好友的问题,下面就让点点给的小伙伴们介绍一下批量删除教程。
当下微信是一个很火的社交软件,可以用来聊天,也可以用来支付,转账发朋友圈分享自己的生活等;很多微信的小伙伴们不知道怎么样,突然加不了好友是什么原因呢,现在就让小编带小伙伴们来看一下吧。
智能手机中有 QQ,钉钉,微信等通讯软件,微信是现在最常用的社交软件之一,有很多的功能很多小伙伴们都不知道,那小编会不定期的进行微信功能的科普,有些小伙伴不知道手机微信怎么将好友移出黑名单,接下来小编就给小伙伴们介绍一下具体的操作步骤。
电脑硬盘空间被大量占用发现是微信自己账号下的Image文件夹引起的,因不清楚里面的图片有些是否有用。想逐一整理清理。