本文不涉及如何获取微信数据库原理及解密原理(这部分代码网上已经非常非常多了),假设前提是都已经获取了两个数据,分别是加密库EnMicroMsg.db,解密密钥aaaaaaa。
我们知道,微信数据库是使用sqlcipher进行加密的。因此,使用sqlcipher解密即可。
步骤如下:
1、网上下载sqlcipher-3.0.1 for windows版本
2、进入下载文件的bin目录,将加密库EnMicroMsg.db放到该目录下,shirt+右键打开命令行窗口
3、执行对应版本的命令,例如我使用的win64位系统,则命令行输入
sqlcipher-shell64.exe EnMicroMsg.db
4、输入
PRAGMA key='aaaaaaa';
PRAGMA cipher_migra;
ATTACH DATABASE = "decrypted_database.db" AS decrypted_database KEY "";
SELECT sqlcipher_export("decrypted_database");
DETACH DATABASE decryped_database;
此时,查看该目录下已经生成decrypted_database.db,这就是解密之后的sqlite文件。