wechat微信dat文件通过nodejs恢复为图片点点

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

声明: 先提供一个在线的版本,可以直接批量上传微信dat文件,然后转化成图片,支持批量下载功能。代码可以保证绝不保留任何文件.. 最主要的是,服务器才40G硬盘,带宽1M, 请各位放心使用,不相信的可以去看下源码即可,是开源的站。

微信dat在线解码,就在顶部demo里可以找到。

http://www.sdxlp.cn/tool/wechatdat 直接带你找初恋欧。。。。。。 嘿嘿

在知乎上看到过,基本上都是一致的,这里提供一个nodejs版本的针对微信内dat文件进行处理恢复为图片的方法。

可以指定某文件夹,然后将图片恢复到另外一个文件夹。

微信的dat文件存在于 wechat files/xxx/filestorage/image/2019-06/ 类似的文件夹内。

需要安装的模块

async 异步处理

代码

//修改图片 //修改图片 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);
})

} 代码可以直接拿去用。 通过nodejs 来将微信wechat的缓存的dat图片进行还原,这种情况也可以实现恢复微信中已经撤回的图片。

展开阅读全文

页面更新:2024-05-20

标签:在线   文件   图片   缓存   批量   文件夹   源码   模块   初恋   带宽   类似   放心   版本   代码   格式   数码

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top