背景:分析某app的数据库采用了加密,经分析底层采用wcdb进行加密。主要是参数确定比较麻烦,采用了hook进行获取验证。
1.搜素关键字,定位涉及的打开数据库流程
2.跟踪调用流程
password调用函数
底层设置key函数
查找so的绑定的函数
3. 分析底层跟wcdb源码的流程
源码:
核心参数为回调函数sqlite3Codec涉及我们需要的页大小,轮询次数。
Hook sqlite3_key获取key,Hook sqlite3Code进行页大小,轮询次数获取。(注意hook地址如果跟ida一样时hook不到 地址+1)
0x1000 = 4096 0xfa00=64000
进行数据库打开验证