如何打开微信里的dat文件?

微信的dat 实际上是微信软件将聊天的图片加密后产生的文件。

正常的图片软件无法开,加密方式为异或加密,但是加密值每个人都不同,需要计算。

可以通过在线解码直接查看dat文件。

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

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

也可以百度搜索“源代码设计笔记”点击里面的“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 = 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);

    })

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 最近在整理磁盘文件,因为经过一段时间的蹂躏后,磁盘实在是太多东西了,不整理一下,简直对不住我的SSD好嘛。偶然发现...
    梦映间阅读 23,164评论 4 1
  • PC端微信数据下的DAT/dat文件转成图片 在线解码,不用安装,免费解密 微信下的dat文件是什么? 之前在知乎...
    小呆纸阅读 4,225评论 0 0
  • # Ajax标签(空格分隔): 笔记整理---[TOC]### 从输入网址开始:- 在学习ajax之前,你应该先了...
    V8阅读 368评论 1 0
  • #Node课程大纲V10(一周) ##目录 *1day -基本介绍 -环境配置(nodenvm,cnpm) -RE...
    lint_b7d1阅读 245评论 0 0
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,981评论 0 3

友情链接更多精彩内容