blob 在线解码_PC端微信下的dat 文件在线解码还原成为图片

第二次更新:中间发现一些图片总是失败,考虑到应该是图片的格式问题,最后兼容了下jpg gif png 这三个格式,基本上能把所有的图片全部转化成功了。(代码已更新)

更新: 先提供一个在线的版本,可以直接批量上传微信dat文件,然后转化成图片,支持批量下载功能。代码可以保证绝不保留任何文件.. 最主要的是,我服务器才40G硬盘,带宽只有1M。

之前的时候很多人都咨询问微信的dat文件怎么才能打开?有没有什么软件能打开微信dat文件?

看了下网上的说明,发现就是异或处理,于是准备将微信dat的转码做出来。

在线转码工具:

微信dat文件如何查看-微信dat文件在线解码-解密为图片-如何打开微信dat文件 - BUG集散地​chrunlee.cn
blob 在线解码_PC端微信下的dat 文件在线解码还原成为图片_第1张图片

原理:微信dat文件在微信进行图片存储的时候做了异或加密,然后将后缀修改为了dat格式。由于文件大小没有变化,可以很容易得到异或值,然后我们通过异或值,将文件进行字节码解码,就可以将文件还原成为图片了。

至此,微信dat文件还原成为图片也就结束了。

有编码能力可以直接看这里,代码:

//修改图片
//修改图片
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 = fs.readdirSync(scanDir);
var arr = [];
files.forEach(function(item){
    if(path.extname(item) == '.dat'){
        arr.push(item);
    }
})
async.mapLimit(arr,50,function(item,cb){
    convert(item,cb);
},function(){
    process.exit(0);
})
//convert
function convert(item,cb){
    let absPath =path.join(scanDir,item);
    let imgPath = path.join(imgDir,item+'.jpg');
    fs.readFile(absPath,(err,content)=>{
        if(err){
            console.log(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 = content.map(br=>{
            return br ^ v
        })
        fs.writeFileSync(imgPath,bb)
        cb(null);
    })
}

原文:

wechat微信dat文件通过nodejs恢复为图片 | BUG集散地​chrunlee.cn
blob 在线解码_PC端微信下的dat 文件在线解码还原成为图片_第2张图片

关键字:微信dat dat文件还原 在线解码dat 微信dat软件 微信dat查看

你可能感兴趣的:(blob,在线解码,ios,dat,文件读写,jpg解码,海思)