• 設為首頁
  • 點擊收藏
  • 手機版
    手機掃一掃訪問
    硬盤基地手機版
  • 關注官方公眾號
    微信掃一掃關注
    硬盤基地公眾號
  • 安卓手機微信取數據庫打開密碼的代碼

    原作者: 330wang數據恢復 收藏 分享 邀請
    由于本人已經找到了通用的安卓微信數據庫打開方法,所以寫下這個打開方法。           
           話說安卓微信的打開密碼由兩個部分組成,一個是imei另一個是uin。這個imei好取得,但是uin可不是那么好取得的。
           不知大家注意到沒有,在MicroMsg文件夾下有兩個cfg文件。一個是systeminfo.cfg另一個是compatibleinfo.cfg。
    在這兩個文件中,用戶的imei和uin以hashmap的方式進行存儲。具體什么是hashmap大家百度一下吧。這里我就不多說了。

     下面是對這兩個文件取得打開密碼的java代碼:
    //////////////////////////////////////////////////////////////////////////////////////////////////
     package com.ime;
    import java.io.FileInputStream;
    import java.io.ObjectInputStream;
    import java.security.MessageDigest;
    import java.util.HashMap;
    public class IMEI {
     public static void main(String[] args) {
      try {
       ObjectInputStream in = new ObjectInputStream(new FileInputStream(
         args[0]));
       Object DL = in.readObject();
       HashMap hashWithOutFormat = (HashMap) DL;
       ObjectInputStream in1 = new ObjectInputStream(new FileInputStream(
         args[1]));
       Object DJ = in1.readObject();
       HashMap hashWithOutFormat1 = (HashMap) DJ;
       String s = String.valueOf(hashWithOutFormat1.get(Integer
         .valueOf(258))); // 取手機的IMEI
       s = s + hashWithOutFormat.get(Integer.valueOf(1)); //合并到一個字符串
       s = encode(s); // hash
       System.out.println("The Key is : " + s.substring(0, 7));
       in.close();
       in1.close();
      } catch (Exception e) {
       e.printStackTrace();
      }
     }
     public static String encode(String content)
      {
       try {
        MessageDigest digest = MessageDigest.getInstance("MD5");
        digest.update(content.getBytes());
        return getEncode32(digest);
        }
       catch (Exception e)
       {
        e.printStackTrace();
       }
       return null;
      }
      private static String getEncode32(MessageDigest digest)
      {
       StringBuilder builder = new StringBuilder();
       for (byte b : digest.digest())
       {
        builder.append(Integer.toHexString((b >> 4) & 0xf));
        builder.append(Integer.toHexString(b & 0xf));
       }
        return builder.toString();
     
      }
    }

    ///////////////////////////////////////////////////////////////////////////////////////////

    編譯生成jar后,運行java -jar XXXX.jar systemInfo.cfg CompatibleInfo.cfg
    就可以得到加密數據庫的打開密碼了。
    注意: 保證命令行可用java,輸入java -version 應該輸出當前版本信息,具體JDK安裝配置可從網上查一下,安裝后將JDK的bin放在環境變量的PATH中即可。

    大家看,得到一個數據庫的打開密碼。但是這個微信登錄了三個號,是哪個的呢??
    告訴大家,是最后一個登錄的微信數據庫的打開密碼。 

    要是有人問我,那我要得到其它的微信數據庫打開密碼要怎么辦??
    這個。。。。。。
    最笨的方法是每個微信分別登錄一下。
    1

    開心

    鄙視
    4

    鼓掌

    憤怒

    可憐

    剛表態過的朋友 (5 人)

    該文章已有3人參與評論

    請發表評論

    全部評論

      • 引用 啟先生 2018-2-2 10:36
        報錯
        imei.java:6: 錯誤: 類IMEI是公共的, 應在名為 IMEI.java 的文件中聲明
        public static class IMEI {
                      ^

    查看全部評論>>

    粉絲3 閱讀20990 回復3
    上一篇:
    iPhone手機數據恢復基礎 蘋果OS的磁盤分區發布時間:2015-01-12
    下一篇:
    三星手機字庫損壞該如何維修?發布時間:2014-01-06
    熱門推薦
    專題導讀
    熱門話題
    閱讀排行榜

    掃描微信二維碼

    查看手機版網站

    隨時了解更新最新資訊

    .

    在線客服(服務時間 9:00~18:00)

    在線QQ客服
    .
    Email:9443120@qq.com
    移動電話:13011628855

    Powered by Intohard X1.0© 2001-2013 Inhdd Inc.( 魯ICP備09029790號 )

    湖南快乐十分