安卓手机微信取数据库打开密码的代码
来源:互联网 发布:mac自动登入灰色 编辑:程序博客网 时间:2024/05/21 07:11
原文: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中即可。
大家看,得到一个数据库的打开密码。但是这个微信登录了三个号,是哪个的呢??
告诉大家,是最后一个登录的微信数据库的打开密码。
要是有人问我,那我要得到其它的微信数据库打开密码要怎么办??
这个。。。。。。
最笨的方法是每个微信分别登录一下。
1 0
- 安卓手机微信取数据库打开密码的代码
- 安卓手机通过代码打开手机的手电筒。
- 安卓实现打开手机的相册
- 安卓SQLite打开数据库的错误
- 安卓手机如何查看已连接的WIFI密码
- 安卓手机查看已经连接的WIFI密码
- 安卓手机打开原生虚拟键的方法
- 安卓手机隐藏代码
- 查看 安卓手机wifi密码
- 安卓手机如何打开开发者模式?
- 安卓手机下拉状态栏的代码实现
- 如何查看安卓手机应用程序创建的数据库
- 如何在没有root过的安卓手机上查看到保存的wifi密码
- 对于RE文件管理器打开安卓手机的Sqlite文件速度很慢的解决办法
- 安卓调用手机上的应用打开不同类型的文件
- 3种解决安卓(android)手机锁屏密码忘记的方法!
- 安卓手机密码破解大全,保准有你没见过的方法
- 安卓代码播放手机本地视频
- java Map嵌套多个Map
- CF 2A
- python字典元素的删除
- 我的第一本Linux笔记(1)——linux常用命令
- Java加密解密器
- 安卓手机微信取数据库打开密码的代码
- HDU 2255奔小康赚大钱
- 剑指offer 57 - 删除链表中重复的节点
- Java设计模式
- 使用ztree插件实现前端树状结构
- Handler的学习(二)
- Android中的错误:Wrong orientation? No orientation specified, and the default is horizontal
- 抽象工厂模式
- 几种LANDSAT文件格式导入方式[未完]