admin管理员组文章数量:1567278
2024年7月21日发(作者:)
如何打开微信里的dat文件?
微信的dat 实际上是微信软件将聊天的图片加密后产生的文件。
正常的图片软件无法开,加密方式为异或加密,但是加密值每个
人都不同,需要计算。
可以通过在线解码直接查看dat文件。
原理:微信dat文件在微信进行图片存储的时候做了异或加密,然后
将后缀修改为了dat格式。由于文件大小没有变化,可以很容易得到
异或值,然后我们通过异或值,将文件进行字节码解码,就可以将文
件还原成为图片了。
至此,微信dat文件还原成为图片也就结束了。
也可以百度搜索“BUG集散地”点击里面的“DEMO",可以轻松
解决这个问题,当然,
有编码能力可以直接看这里,代码:
//修改图片
//修改图片
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,c
b){
convert(item,cb);
},function(){
(0);
})
//convert
function 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);
})
}
如果不懂代码,也没关系,还提供了一个在线直接免费解码的服
务,可以直接上传dat进行在线解码。
版权声明:本文标题:如何打开微信里的dat文件? 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1721528767a883212.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论