Updated Home (markdown)
parent
a4609a37ab
commit
3d3e41b15d
21
Home.md
21
Home.md
@ -46,3 +46,24 @@ sqlite3_close函数特征最明显,直接搜索字符串 "unable to close due
|
||||
|
||||
微信使用的是SQLCipher加密sqlite3,推而广之也开源采用此方法定位key相关的函数。
|
||||
再推而广之,开源项目的逆向基本上都可以采用这种套路。
|
||||
|
||||
# 数据库解密
|
||||
经过简单分析可以确定微信是使用的SQLCipher进行加密。可以简单分析一下SQLCipher的加密过程如下:
|
||||

|
||||
|
||||
然后看下crypto.h,解密就是反过程:
|
||||

|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
这些事当然要先看看官方的解密工具 https://github.com/sqlcipher/sqlcipher-tools , 简单测试了一下,只解密了第一页,应该是后面更新了版本的原因,
|
||||
也编译了sqlcipher,不过也没解密成功,因为微信用的是3.40的sqlite,版本不一致。这种体力活,肯定是先搜一搜有现成的工具没有,然后参考了一个博主的python脚本,
|
||||
简单修改一下即可。
|
||||

|
||||
|
||||
测试了一下效果还可以。
|
||||

|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user