凡聊过必留下痕迹-破解加密的WeChat数据库

Posted on 2015-01-03 14:19  Pieces0310  阅读(9003)  评论(2编辑  收藏  举报

有个朋友上门寻求协助,带着她朋友的朋友的手机,说是手机硬件有问题,想把手机内的资料都备份出来,尤其是WeChat的聊天内容…我跟她说,那iTool等工具不就可以帮上忙了吗?没想到她早就试过了, 说iTool根本找不到WeChat的数据库EnMicroMsg.db,看来她真的是很想取出数据哈~下足功夫了…

其实,取出WeChat数据库还不算是个问题,重点是在取出后,如何萃取出里头的聊天内容,因为WeChat在Android里可是默认加密的数据库哦~但朋友嘛,只好尽力而为,帮帮她喽~毕竟,”凡走过必留下痕迹”,聊过的话,也必然还躺在数据库里头,真人面前不说假话…其实懂数据库特性者便知,所谓”删除”非真删除…

接下来,就请各位和在下化身为调查员,展开WeChat加密数据库的破解任务吧~先用iTool查看相关信息,很幸运的,这是支已root过的手机,处理起来也会方便多了…也许他/她当初只是为了取得手机的超级管理者权限以彻底的”玩”手机,但在这案例中,对欲破解Android中默认加密的WeChat数据库的我来说,便有了施力点,可说几乎是已成功了一半…现在各位更可以体认,为何说root是”两面刃”了吧~

1. 定位WeChat数据库所在位置并导出到计算机上进行后续处理

2.检视EnMicroMsg.db数据库内容,果然是加密的呢,想不到WeChat在Android的版本竟有如此的安全性哈..真是令人意外~

3.古人云:"有法必有破”,因此在破解前,先来研究一下它的加密原理

查到的数据显示,它的加密规则单纯,是利用IMEI搭配WeChat UIN,然后计算出MD5值,取前7码,这便是它的key.

IMEI-国际移动设备标识符-它可说是手机的身份证呢…是唯一识别,绝不会有2支机有同样的IMEI,这也是往往在犯罪侦查中,要扣押犯嫌手机之故,里头可是一个人生活的缩影…

UIN-微信用户的身份证号码,应该不用多加说明了…

4.找出手机的IMEI

有2个方式,随个人喜好:

a.)    拨号键盘按 *#06#

b.)    打开手机背盖,电池取出,可查看IMEI等相关信息

5.找出UIN,它位于档案system_config_prefs.xml中,搜寻字段 uin即可查到value

6.将IMEI与UIN合在一起(2个字符串中间不要自作聪明去加一些符号,不然死也解不了数据库…),算出一组MD5 Hash值,取其前7码

7.幸运的是,WeChat数据库所用的加密是开源的.因此可方便的找到相关资源.可以在不同操作系统平台运行后续的破解步骤.在此为简化步骤之故.直接用Windows版的SQLCipher来开启数据库

8.开启EnMicroMsg.db时,便会要求输入pragma key,请输入上述得到的前7码即可

9.拨云见日…总算可以看到聊天内容了

10.汇出聊天内容吧~产生成文件,方便她用字处理工具直接检视,无须再操作数据库.

后记:

皇天不负苦心人,友人想挖出手机内WeChat 6.0.1加密数据库的聊天内容,总算如愿以偿…

据了解,即使是知名取证设备大厂如xry等,目前尚无法有效处理WeChat的加密数据库..是WeChat版本太新关系吗?不太清楚…智能手机聊天App愈来愈进化了…”阅后即焚”的功能推陈出新,再加上”加密”,简直是固若金汤…未来要破解这类聊天App的聊天内容恐怕只会难上加难~

也许有人会说,那还不简单,聊天内容定期去删除就好啦~问题来了,这类聊天App软件都会将信息存在数据库中,而凡是只要存放在数据库中的数据,所谓"删除"也并非真正删除的..而只是注记,让它们隐身起来…除非真的用数据库工具或下指令去处理,不然数据,可是一直都在的哦~这也是我一开始对她所说的”凡走过必留下痕迹”…

Copyright © 2022 Pieces0310
Powered by .NET 6 on Kubernetes