逛论坛 发现一款数据库导出工具https://github.com/sunhanaix/pc_wechat_exp
找了GitHub一些其他的数据库导出工具 都是由于需要重启微信 就想着逆向一下
数据库key是服务器派发的 内存中加密存储 下面是xor加密算法
var cliDbencryptKeyXORKey = []byte{
0x5C, 0xE1, 0xE0, 0x09, 0xDD, 0x44, 0x84, 0x63,
0x21, 0x72, 0x09, 0x5F, 0x46, 0xE2, 0x96, 0xC6,
0xFD, 0x82, 0xE7, 0x69, 0xAA, 0x6F, 0x1D, 0x3C,
0x8A, 0x80, 0xA2, 0x69, 0xFA, 0x13, 0x40, 0x95,
}
func DecryptCliDbencryptKey(encrypted []byte) []byte {
if len(encrypted) == 0 {
return nil
}
key := cliDbencryptKeyXORKey
decrypted := make([]byte, len(encrypted))
for i := range encrypted {
decrypted[i] = encrypted[i] ^ key[i%len(key)]
}
return decrypted
}
可以搜寻到基址 然后调用解密算法 就可以实时获取数据库密钥了 不用每次都重启获取了