大家好,我是公众号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数据库,如果有朋友会这个,麻烦留言告知一二。
=正文完=