这篇文章给大家介绍java中怎么批量解析微信dat文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
目前成都创新互联已为近1000家的企业提供了网站建设、域名、网络空间、网站托管、服务器租用、企业网站设计、邻水网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
微信图片默认路径: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("--------------------------------"); // // ArrayListlistFileName = new ArrayList (); // // 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 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); // // } // } // } }
关于java中怎么批量解析微信dat文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。