java批量解析微信dat文件

时间:2021-05-19

本文实例为大家分享了java批量解析微信dat文件的具体代码,供大家参考,具体内容如下

微信图片默认路径:C:\Users\b-eet\Documents\WeChat Files\b-eethoven\FileStorage\Image
微信文件利用Xor加密,计算之前需要知道异或值是多少。(好像每个人电脑上面的异或值都不同,在24行更改异或值)
异或值可用电脑自带的计算机计算(Xor)

package cn.kgw;import java.io.*;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class WeChatImgRevert { public static void main(String[] args) { ExecutorService pool = Executors.newFixedThreadPool(10); Runnable r = () -> { String[] fileName = GetFileName.getFileName("D:/dat"); int i = 0; for (String name : fileName) { try (InputStream reader = new FileInputStream("D:/dat/" + name)) { try (OutputStream writer = new FileOutputStream("D:/photo/" + name + ".jpg")) { byte[] bytes = new byte[1024]; int b; while ((b = reader.read(bytes)) != -1) {//这里的in.read(bytes);就是把输入流中的东西,写入到内存中(buffer)。// System.out.println("b = " + b + " b ^ 241 = " + (b ^ 241)); writer.write(b ^ 241);//241这个值是现算的,每个人电脑的值都不一致 writer.flush(); } } System.out.println(i++); } catch (Exception e) { e.printStackTrace(); } } }; pool.submit(r); pool.shutdown();// System.out.println("--------------------------------");//// ArrayList<String> listFileName = new ArrayList<String>();//// GetFileName.getAllFileName("F:/dat", listFileName);//// for (String name : listFileName) {// System.out.println(name);// } }}class GetFileName { public static String[] getFileName(String path) { File file = new File(path); String[] fileName = file.list(); return fileName; }// public static void getAllFileName(String path, ArrayList<String> fileName) {//// File file = new File(path);//// File[] files = file.listFiles();//// String[] names = file.list();//// if (names != null)//// fileName.addAll(Arrays.asList(names));//// for (File a : files) {//// if (a.isDirectory()) {//// getAllFileName(a.getAbsolutePath(), fileName);//// }// }// }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章