Android设备的微信数据收集(3)--基于降级的未root设备数据收集技术

1.3 基于降级的未root设备数据收集技术

随着Android版本更新,目前支持root的设备越来越少,且部分厂商如OPPO、realme等品牌部分机型禁止安装root apk,甚至在固件层面禁止root。根据对淘宝十余家提供root服务的店铺和所在城市5家线下手机维修店的走访,目前市面上支持root的手机仅有不到20款,且要求没有更新过2020年3月Google发布的Android安全性补丁。

微信在6.0之后的版本,不支持使用adb back up备份用户数据。在文献Anglano C. Forensic analysis of WhatsApp Messenger on Android smartphones[J]. Digital Investigation, 2014, 11(3): 201-213.中,Songyang Wu等人提出了一种“未root备份方法”(unrooted backup method),称通过使用adb等工具,可以在信息无损失的前提下通过降级到支持使用adb备份的微信版本,即微信5.X版本实现Android手机取证。国内一些厂商也采用该方法提供服务,如图1

 

图1基于降级实现微取证的某公司取证软件截图

 

根据实验,该方法命令行实现执行流程如如图2,解释如下:

1)通过adb shell pm path com.tencent.mm命令,查看当前微信包名称;

2)通过adb pull /data/app/com.tencent.mm-1/base.apk命令,导出目前微信的 base.apk 文件;

3)通过adb shell pm uninstall -k com.tencent.mm命令,卸载当前安装的微信,并通过-k参数保留用户信息;

4)通过adb install weixin5.4_33lc.apk命令,安装获取到的低版本微信安装包,并在手机端确认安装;

5)通过adb backup -f mm.ab -noapk -noshared -nosystem com.tencent.mm命令,通过低版本微信支持adb备份APP数据的方法导出备份,在手机上确认备份并跳过设置备份密码;

6)通过adb shell pm uninstall -k com.tencent.mm命令,卸载低版本微信;

7)通过adb install base.apk命令,在手机端确认安装,恢复之前手机安装的微信版本。

 

图2 命令行实现示意

 

但在复现过程中,发现由于Android版本更新和腾讯停止了对部分低版本微信的支持,导致该操作在一些情况下并不适用。

Android版本小于10.0,或在2019年AndroidQ发布后未更新谷歌安全补丁的情况下,可以复现实验并导出数据库。

使用Android版本大于10.0,与微信6.X版本,在步骤4中,Android或腾讯官方停止了对微信低于6.0版本的支持,即打开程序直接闪退,有可能导致步骤5导出备份文件为0B,如图3,并在步骤7丢失未删除的微信的数据库链接,直接导致登录状态丢失,可能会对司法取证造成不必要的困难。

转存失败重新上传取消转存失败重新上传取消图3成功与失败情况导出备份文件示意

图3 成功与失败示例

使用当前微信的最新版本,即微信7.0.13(更新于2020年4月2日)时,发现在步骤3中,不论是否附带-k参数,data区的微信用户数据库文件都会被删除,会导致数据丢失。根据其他资料查询,也表示微信7.X版本在卸载时会自动清除用户数据。

综上,在实际操作中,2017年在Digital Investigation期刊提出的“未root备份方法”对最新版本微信适用性有限。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章