微信反编译难度 微信反向编译怎么做

admin2个月前未分类11

  微信反编译难度,微信反向编译怎么做?

  微信反编译难度即微信反向编译,维护微信运营。以下是小编整理的微信反编译过程,有兴趣的朋友们可以往下学习。

  1、首先我们全局查找SQLiteDatabase类,因为这个类是操作数据库的核心类,他是突破口。

  2、找到这个类的定义之后,再次查看他的open系列方法,因为要操作数据库肯定有open之类的方法。

  3、再去全局查找SQLiteDatabase的open方法的调用地方,这里调用的地方比较多,所以大家需要耐心的查找,而且为了缩小查找范围,我们可以根据smali语法调用格式的字符串内容来进行查找。

  4、找到了这个方法的被盗用的地方,下面就开始一步一步的往下跟踪,到了一个核心的方法中了解到了,密码是一个字符串计算MD5之后取前7个字符串的值。

  5、继续跟踪,找到这个被计算MD5的字符串内容,后跟踪到这个字符串其实是设备的IMEI加上用户的uin值,而这个uin值是保存在SharedPreferences中的。

  上面虽然找到了密码,但是我们知道是如何进行数据加密的呢?这里就要借助经验了,因为现在主流的Sqlite数据加密技术就是sqlitecipher,不了解的同学可以去看看,这个数据库加密需要用到so文件,我们去微信的libs下面查看:

  这里没有找到那个sqlitecipher.so文件,但是我们看到了这个libkkdb.so文件,他貌似就是操作数据库的,使用IDA打开进行查看内容:

  看到了,这里的的sqlite操作都是在native层进行的,所以我们如果要查看数据库的话,需要用sqlcipher软件来进行查看,这个软件网上的下载地址很多,专门用来查看sqlitecipher加密的数据库信息的。

  以上是小编整理的相关微信反编译难的内容,希望对您有帮助。