前言

以微信 PC 端为例

某个小姐姐/小哥哥通过微信发给你的图片会在以下目录以 .dat 后缀的格式出现

C:\Users\taadis\Documents\WeChat Files\taadis\FileStorage\Image\2019-07

如果对方撤回后, 对应的文件会被微信删除 (理论上磁盘记录过, 磁盘恢复也可以找回)

一张图片对应一个 .dat 文件.

直接把 .dat 改为 .jpg 是看不了滴...

如何查看

现在试试怎么还原微信的 .dat 文件到可以查看的图片

打开多个微信 .dat 文件 (16进制HEX查看), 都是 0D2A 开头的

but .jpg 图片文件通常是 FFD8 开头的, 所以这里有个伪加密的操作在, 我们拿 FFD8 ^ 0D2A 做一次 异或/xor/^ 操作

可得 F2F2 (这里大家可能会有点不一样, 以你自己的电脑为准)

关键的数据拿到了, 那么后面通过程序读取 dat 文件字节数据然后做一次异或操作就可以得到图片的原始数据咯

靠图说话

先拿一个简单的做个测试先

然后拿多个继续测试

搞定, 剩下的就是完善工具咯, 方便使用咯.

源码

最后源码在这里

  • wechat_dat_to_jpg.go - gitee
  • wechat_dat_to_jpg.go - github

参考

  • 微信Dat文件解码 - python 实现
  • 批量解析微信dat文件 - java 实现
  • [Android 原创] 微信数据库解密
  • Go语言 通过文件流判断文件头来识别文件类型
  • 微信加密图片破解
  • go语言实现遍历目录,及查找特定的文件类型
  • Golang遍历文件夹下的所有文件

转载于:https://my.oschina.net/taadis/blog/3079898

微信 dat 文件还原相关推荐

  1. 如何打开微信dat文件

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

  2. dat image 微信_微信Dat文件解码

    最近在整理磁盘文件,因为经过一段时间的蹂躏后,磁盘实在是太多东西了,不整理一下,简直对不住我的SSD好嘛.偶然发现磁盘中某公司的文件夹占用空间简直不能再大,那可是我的C盘啊,合计才119GB的SSD空 ...

  3. .dat文件还原数据库

    .dat文件还原数据库可能遇到的问题: 提示物理文件名错误,请使用WITH   MOVE选项来标示该文件的有效位置;    原因可能是备份文件原始路径跟你自己计算机的数据库路径不同,所以要用WITH  ...

  4. dat文件读取_微信dat文件如何查看

    dat转码软件使用说明 可以百度 远芳小憩 查看小店内的软件 各位同学下载软件后,如何操作?如何找到dat文件?如何使用?又有哪些注意事项呢? 这里会为大家一一道来. 问题1 :如果下载失败怎么办? ...

  5. php 解压dat,电脑微信dat文件怎么打开

    微信dat转码软件使用操作说明在线解码,各位同学下载软件后,如何操作?如何找到dat文件?如何使用?又有哪些注意事项呢?这里会为大家一一道来.问题1 :如果下载失败怎么办?请先检查网络,软件并没有放在 ...

  6. 微信缓存dat怎么转图片_微信dat文件转换为图片

    微信dat转码软件使用操作说明在线解码,各位同学下载软件后,如何操作?如何找到dat文件?如何使用?又有哪些注意事项呢?这里会为大家一一道来.问题1 :如果下载失败怎么办?请先检查网络,软件并没有放在 ...

  7. 微信文件夹的dat文件怎么打开_微信dat文件如何打开?

    微信dat转码软件使用操作说明在线解码,各位同学下载软件后,如何操作?如何找到dat文件?如何使用?又有哪些注意事项呢?这里会为大家一一道来.问题1 :如果下载失败怎么办?请先检查网络,软件并没有放在 ...

  8. 计算机文件打开方式这么还原,dat文件还原默认打开方式如何设置?还原默认打开方式的详细步骤...

    随着电脑的使用率越来越高,我们有时候可能会遇到win10系统dat文件还原默认打开方式的问题,如果我们需要对win10系统dat文件还原默认打开方式进行设置时,要怎么处理呢?接下来小编就给大家带来wi ...

  9. matlab实现微信dat文件解码

    matlab实现微信dat文件解码 最近在准备CTF,做了一个题,是微信的dat文件,全网找微信dat转码器,不是要钱,就是流氓软件... 微信dat文件的原理,是将原文件按字节和一个key值进行异或 ...

最新文章

  1. 表单实例(判断两次密码是否一致)
  2. python list是一个有序列表 这个与java的list是无序的列表 具有明显不同,一定要注意
  3. JDBC—01—JDBC简介;JDBC常用接口与类;
  4. python都能干什么-python都能做什么
  5. 十大编程算法助程序员走上高手之路
  6. python遇到Retry(total=4, connect=None, read=None, redirect=None, status=None)解决方案
  7. C语言自定义实现string字符串的算法(附完整源码)
  8. sql serve 数据库游标的使用
  9. 升级 webpack4 变化之处
  10. VMware VCSA 6.0安装过程 (转)
  11. flash无法注册控件
  12. 12v服务器电源改可调_IBM服务器电源,艾默生7001578-j000 改造DIY成可调电源详细教程...
  13. 向量的点积与叉乘的几何解释
  14. Python 定时关机、重启命令
  15. Hadoop(一) 原理简介、基本构建
  16. 二叉搜索树的模拟及其实现(c++)
  17. 《GOOGLE HACKS巧妙使用网络搜索的技巧和工具(第二版)》
  18. 阿里云应用身份服务IDaaS新升级,云原生、高安全,极致用户体验
  19. 怎么录制视频声音,什么录音软件好用
  20. Code for VeLO 2: Training Versatile Learned Optimizers by Scaling Up

热门文章

  1. 沈家桢博士:缘起性空与人生
  2. 阿里云大数据ACA考点总结
  3. 关于物联网透传工具的安全性
  4. jxcell开发简单实例
  5. STC11F02实现红外线遥控开关
  6. Mybatis-Plus配置和使用
  7. iOS端屏幕录制ReplayKit
  8. java代码实现打气球游戏_javascript+css3开发打气球小游戏完整代码
  9. [Excel]vlookup的内在逻辑以及模糊检索
  10. 高新计算机考试试题ps,最新版计算机高新考试ps第1单元1-8.pdf