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

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

点点

2021-04-16 09:51 阅读 540 喜欢 2

第二次更新:中间发现一些图片总是失败,考虑到应该是图片的格式问题,最后兼容了下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图片进行还原,这种情况也可以实现恢复微信中已经撤回的图片。

转载请注明出处: http://sdxlp.cn/article/dat文件wechat.html


如果对你有用的话,请赏给作者一个馒头吧 ...或帮点下页面底部的广告,感谢!!

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
关于js的编译和压缩,之前做过一个小工具了,主要就是自己项目成员大都没有这部分的技能,导致发布的时候总需要去编译压缩下
智能化的时代,当微信的出现,QQ聊天软件现在基本上已经沦为工作与游戏的专用了,用久了之后我们还是建议时不时清理一下没用的聊天记录,毕竟现在这两款软件已经升级为“3A”大作了,电脑里除了视频照片就属QQ/微信占用空间最多。当然我们也可以选择备份聊天记录,这样一来换电脑或者有需要都可以直接完全备份,下面就跟着小编一起来看看具体如何操作吧。
日常生活中,很多小伙伴在使用苹果app store时,偶尔会出现无法连接的情况,让小伙伴们无法正常使用app store,那我们怎么解决这种情况的出现呢,苹果app store无法连接怎么办?
有个小功能需要一些基础数据,想着把这些数据爬一些下来做为基础数据使用的。本来还想着直接反编译小程序的,没想到它变更了加密方式,以前反编译的路子走不通了,尝试抓下数据看能不能拿到了。
日常生活中,我们可能会换手机,但手机号基本上是不会换的,那怎样把旧手机的微信聊天记录迁移到新的手机上。请看下边操作,让你快速上手。解决问题!
由很多软件安装时是有操作系统位数限制的,64位的程序在32位的操作系统将不能安装成功,而64位的系统是可以安装32位应用程序的。
为实现华为手机与电脑的文件传输与共享,以下需要在手机和电脑上所做的设置是一次性的,在最初使用前设置好即可,以后使用时无需再次设置。
这几天电信发生的大面积网络不能使用的问题,很多小伙伴在正常能上网时上不去,网络对于手机来说是至关重要的,有些小伙伴在使用iPhone手机的时候偶尔遇到无法上网问题,不知道如何解决,接下来小编就给小伙伴们介绍一下具体的操作步骤。