环境 Python 3.6.3
模块 os
工具 程序员计算器
目的 通过python 实现电脑版微信中图片转码(原.dat转成JPG或PNG)
分析 据说微信图片是用异或值加密(实际就是转码) 1.先用工具打开.bat文件,但会看到一堆乱码。如下图
用notepad++的话可以,通过插件以16进制打开。(怎么用notepad打开16进制点这) 16进制打开如下图 再用 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 ……
2019-12-17 更新自动计算异或值