出于一些很猥琐的需要,同时自己也想做一些新鲜的尝试,周末用了大半天时间破解了某款手游的数据文件。
过程比我预想的要顺利,主要原因还是我们开发人员的懈怠,咳咳。
过程如下:
- 下载安装包,解压,发现几个XXX.db文件,最感兴趣的是一个50多M的XXX.db
- 用UltraEdit打开XXX.DB文件,没有任何线索。只发现这几个文件有相同的文件头
- 搜索.DB文件可能是什么文件,发现了开源库sqlite,这是一个轻量级的数据库组件,IOS就用了这个,顿时眼前一亮
- 下载sqlite的命令行工具,发现打不开.DB文件
- 自己存了一个sqlite的数据库文件做测试,发现根本就是明文存储的
- 是时候祭出神器IDA pro了,反汇编libXXX.so,发现大量sqlite3_XXX函数,.db文件应该是sqlite数据库文件没错
- 搜索sqlite加密的相关信息,官方的加密实现是需要授权的,但有一个wxsqlite的开源实现。私下推测该app用了wxsqlite