根据四哥教程来自己动手实现一下如何读取微信的聊天记录。以下操作需要在手机Root的情况下进行。
微信聊天记录保存位置
微信聊天记录的数据库文件保存在/data/data/com.tencent.mm/MicroMsg/32位字符串/
中,名字为EnMicroMsg.db
。
将聊天记录数据库文件导出
使用命令:
adb pull /data/data/com.tencent.mm/MicroMsg/32位字符串/EnMicroMsg.db |
直接导出提示不存在,因为是权限的问题。
使用adb root没反应,只好将文件copy到一个非root权限可以操作的目录,这里采用了/data/local/tmp
文件夹。
cp EnMicroMsg.db /data/local/tmp/ |
然后导出,执行命令adb pull /data/local/tmp/EnMicroMsg.db
提示权限不足,修改权限后导出。
查看SharedPreferences中保存的UIN的值
切换到/data/data/com.tencent.mm/shared_prefs
目录,然后执行grep -rn "uin" *
来查看保存的UIN的值
读取微信数据库文件内容
将手机的IMEI和微信用户UIN值进行拼接后进行md5加密,取小写md5的前七位就是微信数据库的密码。
用Navicat读取数据库文件是提示错误:
这是因为微信数据库用的是SQLCipher开源库提供的加密解密算法,读取数据库文件需要使用SQLCipher这个软件。
打开后输入密码,即可看到聊天内容:
参考资料
http://blog.csdn.net/jiangwei0910410003/article/details/52238891