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

news/2024/10/17 12:53:45/

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

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

原理:

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

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

本人使用的nodejs的语言实现的,下面贴下nodejs的代码,各位可以直接复制运行即可。

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

以上为代码,由于很多同学没有编程能力,这里做了一个在线版本的微信dat文件解码的工具,可以直接将微信dat文件在线解码,比较方便,大家可以一试。

 至于微信dat通过什么软件可以打开的问题,其实有了代码,各位可以直接将代码封装到程序中,就可以直接通过软件进行解码了。

本人亲测 chrunlee.cn/tool/wechatdat 可以直接将微信dat文件解码成为图片,然后点击全部下载即可。


在线解码的地址看上面黑体的地址即可,可以直接复制到浏览器进行访问。有代码不明白的也可以私信我,看到就会解答的。 


http://www.ppmy.cn/news/465055.html

相关文章

判断当前环境在微信下,还是企业微信下

/*** 判断当前环境* return boolean [description]*/ function get_runtime_environment($to_verify_environment){// 是否在微信浏览器下if($to_verify_environment MicroMessenger){// 是否在微信环境下if ( strpos($_SERVER[HTTP_USER_AGENT], MicroMessenger) ! false &am…

华为认证 | HCIE和CCIE的区别是……

最近很多小伙伴想要了解CCIE和HCIE,两个认证,不知道选哪个方向好。 今天就给你分析一下CCIE和HCIE这两个认证的区别和优劣势。 帮助大家更好地了解这两个认证,为自己的职业发展做出正确的选择。 01 HCIE和CCIE证书哪个好? HCIE…

Windows远程桌面(mstsc)不能复制粘贴的解决办法

最近突然发现Windows远程桌面(mstsc)不能在远程端和本地端之间自由的复制和粘贴了,这还是非常影响使用体验的;因此记录一下解决方法,以便后续再遇到此类问题时查看如何解决; 文章目录 一、背景二、解决办法2.1 方法1 重启rdpclip.…

实习记录(二)Java常用工具库

一.Lombok 1.背景概述 Lombok是一个非常高效的专用于Java的自动构建插件库,其简化了 JavaBean 的编写,避免了冗余和样板式代码的出现,让编写的类更加简洁明了,可以帮助大家节省很多重复低效的代码编写。比如重复性的Setter、Gett…

学一点python基础

pythonr小基础 文章目录 pythonr小基础简介认识计算机和程序Python 定义Python程序的执行**python执行过程**python解释器类型 基本数据类型注释函数变量del 语句核心数据类型空值对象 None 整形int浮点型float字符串str**定义:****编码:****相关函数&am…

JAVA初学习(三)(数组和面向对象)

六、数组 问题:如何存储一个班所有的同学名字?可以用变量存储吗?不行,怎么办?使用数组存储 6.1 数组 6.1.1 概念 ​ — 是同类元素的集合,在内存上是一系列连续的区间(画图说明)…

APM二次开发(二):添加一个任务

固件版本 APM copter 4.3.1 参考:https://ardupilot.org/dev/docs/code-overview-scheduling-your-new-code-to-run-intermittently.html APM添加任务比PX4要简单很多,直接在调度器里添加函数即可。 先定义一个要调度的函数my_test() 然后加到调度器中…

endnotex9 在word中插入参考文献遇到的问题

添加超链接 在EndNote X9中点击如下按钮 勾选如图所示选项后确认即可 找到插入文献的上标,按住“Ctrl”后鼠标点击即可跳转到对应文献 修改文献添加位置 先使用endnote插入一篇文献,然后到达插入文献的位置,右键点击。 选择切换域代码 将其…