首先感谢:https://blog.csdn.net/weixin_42440768/

因为狗子喜欢之前那个头像,但是没找到,于是我想看看我们之前的斗图过程中有没有发她的头像。

这是做这件事情的起因。

然后找到了我微信源文件的Image文件。发现源文件都是清一色.dat格式文件。

这时候第一步直接把后缀改了jpg :( 很失望,不行,无法打开文件。

然后去谷歌搜了一下,大牛们都说是微信用异或操作加密了Jpg.

于是朝这个方向入手。

首先下载notepad++,再给它配上Hex-Editor插件,这样我们就能用notepad++用16进制打开dat了

我的办法是:

第一步:就是从网上(https://sourceforge.net/projects/npp-plugins/files/Hex%20Editor/)下载Hex-Editor.dll文件。
第二步:然后拷贝到你自己notepad安装目录的plugins子文件夹下。
第三步:最后重启notepad。

然后在这里打开16进制显示,就好了。

这样我们就得到了16进制源文件。

我以下图为样例分析。

这是打开的DAT文件,前三位是4F 96 88。按照网上大牛说了 做过了异或操作 再存储的。那么我们来试着还原。

给出参考文件头:

JPEG (jpg),文件头:FFD8FF

PNG (png),文件头:89504E47

GIF (gif),文件头:47494638

好办了,直接逐个测试下。

我发现我这个dat 是 4F^C6 = 89,96^C6 = 50,88^C6=4E

对应得上PNG格式的文件。

然后就是java打开文件重新异或之后输入输出啦。

JAVA代码(对单个文件操作,折叠的是对整个文件夹操作)

这里有个彩蛋是:本来想用python操作文件的(方便),但是本人配置了近5小时sublime+python3,因为各种墙(GFW牛逼)的问题和各种插件需要慢慢安装体验感很差,遂投入java怀抱(真香)

package Main;
import java.io.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class test {public static void main(String[] args) {FileInputStream in = null;FileOutputStream out = null;try {String sourceFileUrl = "存放文件目录/xxxxxx.2.dat";//文件存放目录
            String targetFileUrl = "F:/p1.png";//输出目录in = new FileInputStream(sourceFileUrl);out = new FileOutputStream(targetFileUrl);int data = 0;while ((data=in.read())!=-1){//将读取到的字节异或上一个数,加密输出out.write(data^(0xc6));//0xc6可以改
            }}catch (Exception e){e.printStackTrace();}finally {//在finally中关闭开启的流if (in!=null){try {in.close();} catch (IOException e) {e.printStackTrace();}}if (out!=null){try {out.close();} catch (IOException e) {e.printStackTrace();}}} }
}

package Main;
import java.io.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class P3342 {public static void main(String[] args) {ExecutorService pool = Executors.newFixedThreadPool(10);Runnable r = new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubString[] fileName = GetFileName.getFileName("C:/Users/Administrator/Documents/WeChat Files/wxid/FileStorage/General/Data/EmotionIcon/");int i = 0;for (String name : fileName) {FileInputStream in = null;FileOutputStream out = null;try {in = new FileInputStream("C:/Users/Administrator/Documents/WeChat Files/wxid/FileStorage/General/Data/EmotionIcon/" + name);} catch (FileNotFoundException e) {// TODO Auto-generated catch block
                                e.printStackTrace();}try {out = new FileOutputStream("F:/"+name+".png");} catch (FileNotFoundException e) {// TODO Auto-generated catch block
                                e.printStackTrace();}int data = 0;try {while ((data=in.read())!=-1){//将读取到的字节异或上一个数,加密输出out.write(data^(0xc6));}} catch (IOException e) {// TODO Auto-generated catch block
                                e.printStackTrace();}}}};pool.submit(r);pool.shutdown();}}
class GetFileName {public static String[] getFileName(String path) {File file = new File(path);String[] fileName = file.list();return fileName;}}

View Code

效果是这样的。

转载于:https://www.cnblogs.com/Esquecer/p/10718444.html

搞搞电脑微信表情的破解(.dat转png or jpg)相关推荐

  1. PC电脑微信目录下的dat图片还原图片方法C#

    PC微信数据目录下账号下的Image文件夹里面很多dat文件,他们都是图片,将图片还原后即可查看 1.附上目录 2.附上软件,和C#源代码 懒得码字了,看图吧 软件使用方法如下,源码在下方 建一个窗口 ...

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

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

  3. dat图片 电脑端微信_电脑微信有没有把图片dat转为jpg的方法去哪找

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

  4. 微信缓存dat怎么转图片_电脑微信怎么把dat转图片?可以看我分享

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

  5. 怎么把微信表情包存到电脑上?亲测有效!

    11-1 要把微信里的表情包导出到电脑上,在其它的回答和文章中的做法,都非常繁杂. 假如有上千个表情包,按那些方法几乎都不可能全部搞下来. 这里介绍一个小工具,可以鼠标点一下,上千个表情包都可以自动扒 ...

  6. 保存到本地_手把手教你将微信表情包保存到本地

    筒子们晚上好! 微信不像QQ那样可以把微信包表情直接保存到本地,所以今天就来介绍两个把微信表情包保存到本地的方法!(两种方法均需要用到电脑) 方法一:使用微信公众号(不建议) 工具:手机,电脑,微信公 ...

  7. fragment在activity中的静态和动态用法_使用Matlab修改压缩Gif动态图片制作微信表情...

    脚本之家 你与百万开发者在一起 作者:theOwlAndPussyCat/焦旭光 引言 电脑里存了很多有意思的Gif动态图片,闲暇想把这些动图全导入微信表情,可是这些动图很多大小超过了微信表情大小1M ...

  8. 电脑微信扫一扫在哪_13个微信隐藏技巧,至少有10个你不知道

    今天蝈蝈又来给大家介绍微信技巧了,微信这么好的app,功能这么强大,还有很多功能等待我们去挖掘,今天蝈蝈给大家介绍的这13个微信技巧,至少有10个你不知道,不信,往下看! 01 快速跳转并定位到未读消 ...

  9. element 保存 点击链接_保存微信表情!

    . 微信真是太弱鸡了! 虽然微信没有把表情保存到手机的功能,但是作为计算机学生肯定是有办法把表情取出来的.有网页微信的存在,加上爬虫中常用的抓包操作,很容易就可以把网页微信收到的微信保存下来. 这用爬 ...

最新文章

  1. 2021年大数据Flink(二十五):Flink 状态管理
  2. 华硕老毛子(Padavan)——校园网电信宽带闪讯(NetKeeper)L2TP学校认证解决方案
  3. linux less命令简介
  4. 【SpringBoot Testing】测试类/测试用例格式
  5. IOS学习笔记——Objective-c基础(一)
  6. python定义对象的比较方法
  7. Mahmoud and a Dictionary CodeForces - 766D 种类并查集
  8. matlab cuda的.cu文件应该放在那里_无人机基于Matlab/Simulink的模型开发(连载一)
  9. 彩虹DS6.6免授权版源码+后台同步更新+独家防黑策略
  10. iOS:Covert p12 back to CSR
  11. Vue-cli4 配置别名
  12. 勉强算是面经——1.诺瓦科技
  13. 40个令人惊讶的photoshop文字效果教程
  14. Effective Java 枚举和注解 第30条:用 enum 代替 int 常量
  15. vue两列数据 合并成一列
  16. web微信授权登陆-配置篇
  17. android rndis win10,win10系统安装驱动Rndis的教程介绍
  18. 大数据分析师高级证书_数据分析师资格证书好考吗_大数据分析师认证
  19. c语言 simon 游戏,终于发现少儿英语游戏SimonSays(西蒙说)
  20. 便利贴--23{移动端滑动模块-改良}

热门文章

  1. php代码审计逻辑漏洞,PHP代码审计之WEB逻辑漏洞 - 安全牛课堂 - 领先的信息安全在线教育平台...
  2. gradle-6.5-bin-zip网盘下载
  3. 【Python】关于Caused by SSLError Max retries exceeded with url 的错误
  4. select 标签自定义样式
  5. 2021 HTML点击跳转对应手机应用(邮箱、手机、微信、QQ)
  6. 电脑qq浏览器怎么滚动截长图_QQ浏览器如何获取整个网页的界面截图?
  7. Leetcode p1154一年有多少天
  8. location常见方法
  9. java set 操作_java:Set循环遍历的俩种方法使用
  10. 从职业赌徒到货拉拉创始人,一文带你了解周胜馥的传奇人生