微信加密图片如何查看

微信加密图片如何查看

点点

2021-05-15 10:21 阅读 1291 喜欢 3

软件说明

PC微信会下载图片到本地存储,会为.dat后缀的文件进行加密,保护文件。

通过异或的方法对文件进行简单的加解密的方法很常规的做法。微信将收取到的文件,对每个字节进行异或加密,保存为dat文件。

其中异或的值为反推出来的,需要知道文件类型,才能确定文件的头文件特征,才能反推出异或值,所以这个工具是写死的文件类型为jpg的 ,头文件特征为 FFD8FFE1

异或值=FF^加密文件第一个字节。

异或值的计算方法:

1、选择dat文件所在目录 2、输入异或值(自行百度异或值计算方法) 3、解密图片会出现在所选择目录 4、如果出现“图片异或值错误”,请重新计算异或值

使用方法

打开 WeChatImageDatEncryption.exe ,输入图片的位置按回车即可。

如果你没有修改过位置,原来的位置就是在 %USERPROFILE%\Documents\WeChat Files\你的微信名\data

如果确实不知道在哪里,可以打开微信设置,查看通用设置>打开文件夹,在进入到 Data 目录即可。

解密出来的文件会放在 WeChatImageDatEncryption.exe 同级目录的 Data 文件夹里。

原理:

先确定原本的文件类型,就能确定文件的头文件特征,然后查看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);
})
}

如果不会代码,又有需要的话.

1.可以到百度搜一下“源代码设计笔记”-->"DEMO"-->"在线解码"——>"输入序列号"-->"下载"——>"安装"-->"完成”。

2.直接进入地址:sdxlp.cn/tool/wechatdat 按1的步骤来一遍就可以了。

希望这篇文章可以帮助有需要的有缘人,写文不易,如果好用回来给个赞啊!

转载请注明出处: http://sdxlp.cn/article/weixin003.html


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
微信是我们常用的软件,很多的小伙伴私信小编,问小编,换了新电脑后如何把旧电脑的微信数据迁移到新电脑上,其实方法是很多的,今天讲个简单点的,希望可以帮到小伙伴们,那就跟小编来看一下吧!
在当下,智能手机的普及率越高,微信的使用率就越多,但是有很多小伙伴们不太会使用微信。微信是现在十分常用的社交软件之一,有些小伙伴们不知道怎么通过手机微信翻译英文,接下来小编就给小伙伴们介绍一下具体的操作步骤。
最近微信是一个很火的社交软件,可以用来聊天,也可以用来支付,转账等;再次登陆微信的时候发现自动退出登录了是什么原因呢?
微信由于聊天记录数据多,很多时候工作、生活中会涉及大量的聊天记录、照片、视频等,为此我们平常会定期对聊天记录进行彻底删除,以减少微信内容对手机内存的占用。可是由于彻底删除时操作失误,会把不该删除的重要聊天记录删除了,那微信聊天记录删了怎么恢复找回来呢?
现在是智能化的时代,智能手机进入了千家万户,那么微信又是智能手机常用的软件,很多的小伙伴对其功能的理解不同,导致使用的时候会出现各种各样的问题,微信是一个社交办公软件,支付软件,可以发朋友圈,聊天,通话等;就有很多小伙伴么好奇了微信有那么多功能,那微信消息为什么会自动删除呢?现在就让小编带小伙伴们来看一下吧。
我们的微信在每部设备上登录过之后都会留下信息,那么这个时候就会有小伙伴比较好奇微信如何删除登录过的设备信息呢?
微信是一个社交办公软件,支付软件,可以发朋友圈,聊天,通话等;就有很多小伙伴们好奇,微信有那么多功能,那微信怎么绑定qq账号呢?现在就让小编带小伙伴们来看一下吧。
我们在使用的微信的时候需要进行实名认证才可以正常的时候,小编感觉有点过度,有的小伙伴好奇微信的实名认证在哪里可以找到呢?