2023年12月3日发(作者:)

如何打开微信里的dat文件?微信的dat 实际上是微信软件将聊天的图片加密后产生的文件。正常的图片软件无法开,加密方式为异或加密,但是加密值每个人都不同,需要计算。可以通过在线解码直接查看dat文件。原理:微信dat文件在微信进行图片存储的时候做了异或加密,然后将后缀修改为了dat格式。由于文件大小没有变化,可以很容易得到异或值,然后我们通过异或值,将文件进行字节码解码,就可以将文件还原成为图片了。至此,微信dat文件还原成为图片也就结束了。也可以百度搜索“源代码设计笔记”源代码设计笔记”点击里面的“DEMODEMO",可以轻松解决这个问题,当然,有编码能力可以直接看这里,代码://修改图片//修改图片let fs = require('fs');let path = require('path');let async = require('async');//值是多少自己算。let base = 0xFF;let next = 0xD8;let gifA = 0x47;let gifB = 0x49;let pngA = 0x89;let pngB = 0x50;let scanDir = 'd:/ttt/load/';let imgDir = 'd:/ttt/load1/';let files = rSync(scanDir);var arr = [];h(function(item){ if(e(item) == '.dat'){ (item); }})it(arr,50,function(item,cb){ convert(item,cb);},function(){ (0);})//convertfunction convert(item,cb){ let absPath =(scanDir,item); let imgPath = (imgDir,item+'.jpg'); le(absPath,(err,content)=>{ if(err){ (err); cb(err); } let firstV = content[0], nextV = content[1], jT = firstV ^ base, jB = nextV ^ next, gT = firstV ^ gifA, gB = nextV ^ gifB, pT = firstV ^ pngA, pB = nextV ^ pngB; var v = firstV ^ base; if(jT == jB){ v = jT; }else if(gT == gB){ v = gT; }else if(pT == pB){ v = pT; } let bb = (br=>{ return br ^ v }) ileSync(imgPath,bb) cb(null); })}