«

安卓手机微信取数据库打开密码的代码

时间:2024-3-2 17:09     作者:韩俊     分类: Html+Css


原文:http://www.intohard.com/article-331-1.html


   由于本人已经找到了通用的安卓微信数据库打开方法,所以写下这个打开方法。           

   话说安卓微信的打开密码由两个部分组成,一个是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中即可。

大家看,得到一个数据库的打开密码。但是这个微信登录了三个号,是哪个的呢??

告诉大家,是最后一个登录的微信数据库的打开密码。


要是有人问我,那我要得到其它的微信数据库打开密码要怎么办??

这个。。。。。。

最笨的方法是每个微信分别登录一下。


标签: javascript html css

热门推荐