Android 应用取证是手机取证中最常见、也最容易拉开差距的部分。普通取证软件可以解析常见聊天、短信、通话和浏览器数据,但遇到比赛自制应用、小众应用、加固应用或业务应用时,仍需要手工分析应用沙箱。
分析 Android 应用的关键是包名。只要确定包名,就能定位应用目录、数据库、配置文件、缓存和 WebView 数据。很多服务器地址、登录 Token、聊天记录、历史搜索、接口响应和缓存图片,都保存在这些目录中。
一、先理解 Android 应用沙箱
Android 每个应用都有独立包名,例如:
com.tencent.mm
com.tencent.mobileqq
com.android.chrome
com.eg.android.AlipayGphone
com.example.chat
应用数据常见路径:
/data/data/<package_name>/
/data/user/0/<package_name>/
/sdcard/Android/data/<package_name>/
/sdcard/Android/media/<package_name>/
其中:
/data/data/ 传统应用私有目录
/data/user/0/ 多用户环境下的实际私有目录
/sdcard/Android/data/ 外部存储中的应用数据
/sdcard/Android/media/ 应用媒体文件目录
完整镜像或 root 提取通常能看到 /data/user/0/;普通逻辑备份可能只能看到外部存储和部分可备份数据。
二、确定应用包名
确定包名有多种方式。
可以从系统包列表查找:
/data/system/packages.xml
/data/system/packages.list
也可以从目录名推断:
/data/user/0/com.example.app/
/sdcard/Android/data/com.example.app/
**如果只知道应用中文名,可以在全局搜索应用名