读取微信数据库

大家好,我是公众号3分钟学堂的郭立员~

前言

微信数据库(安卓端)是加密的,需要获取密码后才能打开。

一、微信数据库位置:

在/data/data/com.tencent.mm/MicroMsg/文件夹中有一个名字特别长的文件夹,如果手机登陆过多个账号,会有多个这种文件夹。

打开文件夹,找到EnMicroMsg.db数据库,就是微信数据库。


找到数据库文件后,把它弄到电脑里~

接下来使用sqlcipher.exe打开,会发现提示输入密码打开



二、怎么得到数据库密码

加密规则:Android数据库密码一般是手机IMEI+微信UIN 两部分md5后取前7位。

我用模拟器测试,imei填写1234567890ABCDEF

微信UIN在/data/data/com.tencent.mm/shared_prefs/auth_info_key_prefs.xml中的_auth_uin的value值,可以使用正则匹配获取对应的值,测试是-开头的。

使用按键获取密码的代码如下:

Import "shanhai.lua"
dim m=file.read("/data/data/com.tencent.mm/shared_prefs/auth_info_key_prefs.xml")
Dim uin=shanhai.RegexFind(m,"_auth_uin"" value=""([^""]+)")
dim imei="1234567890ABCDEF"
TracePrint Left(Encode.Md5(imei&uin(0)),7)


这里我imei填写的是1234567890ABCDEF,如果不行,你可以获取本机imei替换。

之后把得到的7位密码填写到sqlcipher.exe中,可以打开数据了。

这里我也有个问题无法解决,就是我不会用sqlite3打开加密的db数据库,如果有朋友会这个,麻烦留言告知一二。

=正文完=

原文链接:,转发请注明来源!