iOS 设备的数据组织方式与 Android 明显不同。很多 iPhone 取证数据并不是以原始路径直接展示,而是通过备份文件、域名、哈希文件名和 Manifest.db 映射关系保存。理解 iOS 备份结构,是分析 iPhone 检材的基础。
在比赛和案件中,iOS 检材常见形态包括:iTunes 备份、取证工具导出的文件系统、应用沙箱目录、系统数据库和媒体目录。不同提取方式能看到的数据范围不同,分析时应先确认检材类型,再决定分析路径。
一、iOS 备份的基本结构
常见 iTunes 备份目录中可能包含:
Manifest.db
Manifest.plist
Info.plist
Status.plist
多个两级哈希目录
其中:
Info.plist 设备基本信息
Manifest.plist 备份属性、是否加密、版本信息
Manifest.db 备份文件索引和原始路径映射
Status.plist 备份状态
如果备份加密,可能会影响 Keychain、健康数据、Wi-Fi 密码等内容的提取范围。分析前应确认备份是否加密。
二、Manifest.db 的作用
Manifest.db 是 iOS 备份分析的核心。它记录了备份文件与原始路径之间的映射关系。
常见字段包括:
fileID
域名 domain
相对路径 relativePath
文件属性 flags
文件大小
修改时间
iOS 备份中的实际文件名通常是哈希值,不直观。需要通过 Manifest.db 才能知道某个文件原本属于哪个 App、哪个路径。
常见 domain:
HomeDomain
MediaDomain
AppDomain-<bundle_id>
AppDomainGroup-group.<name>
SysSharedContainerDomain-systemgroup.com.apple.*
理解 domain 能快速判断文件来源。
三、设备基本信息
**设备信息通常可从 **Info.plist 提取,包括:
设备名称
产品类型
系统版本
序列号
IMEI
电话号码
ICCID
备份时间
设备唯一标识
常见题目:
该 iPhone 型号是什么?
系统版本是多少?
设备名称是什么?
手机号是多少?
备份时间是什么?
设备型号需要注意:Product Type 可能是类似 iPhone15,2 的机型标识,需要进一步转换为具体型号。
四、AppDomain 与应用沙箱
iOS 应用数据通常位于:
AppDomain-<bundle_id>/
AppDomainGroup-group.<name>/
例如:
AppDomain-com.apple.mobilesafari
AppDomain-com.tencent.xin
AppDomainGroup-group.com.tencent.xin
其中 AppGroup 目录很重要。很多应用为了扩展、分享、通知或跨组件通信,会把关键数据放在 Group 容器中。
分析应用时应同时检查:
AppDomain
AppDomainGroup
Library/
Documents/
tmp/
Caches/
Preferences/
常见文件类型:
*.sqlite
*.db
*.plist
*.json
Cookies
History
Cache
五、Safari 与浏览痕迹
Safari 数据常见位置包括:
History.db
Bookmarks.db
BrowserState.db
Cookies.binarycookies
重点分析:
浏览历史
访问时间
网页标题
搜索关键词
下载记录
书签
Cookie
最近打开标签页
如果题目问“用户访问过哪个网站”“搜索过什么关键词”“后台地址是什么”,Safari 历史和浏览状态数据库是重点。
需要注意:浏览时间可能使用 Apple 绝对时间或 WebKit 时间格式,必须正确换算。
六、照片与相册数据库
iOS 照片不仅存在于媒体文件夹,也由相册数据库管理。常见数据包括:
照片文件
缩略图
相册数据库
EXIF 元数据
位置信息
编辑记录
删除记录
重点数据库可能包括:
Photos.sqlite
分析内容:
拍摄时间
导入时间
位置信息
资源文件名
相册归属
是否收藏
是否隐藏
是否删除
不要只看图片文件本身。相册数据库能提供更多上下文,例如资源是否来自相机、截图、保存、同步或编辑。
七、KnowledgeC 与系统行为痕迹
iOS 系统中常见行为数据库包括 KnowledgeC 相关数据。它可能记录应用使用、设备状态、位置活动和系统行为。
分析价值包括:
应用启动时间
前台使用记录
设备活动状态
用户操作时间线
这类数据适合用于证明某个时间段设备是否被使用、某应用是否打开过、用户行为是否与其他证据时间吻合。
八、短信、通话与通讯录
常见系统数据库包括:
sms.db
CallHistory.storedata
AddressBook.sqlitedb
可分析:
短信内容
验证码
收发件人
发送接收时间
通话号码
通话类型
通话时长
联系人姓名
联系人备注
验证码短信在账号登录、资金交易、服务器后台访问等场景中非常重要。它常用于证明某账号在某时间发生过登录、验证或交易行为。
九、Keychain 与加密备份
如果备份未加密,部分敏感数据可能无法完整提取。加密备份通常能包含更多 Keychain 相关内容,例如账号凭据、Wi-Fi 密码或应用 Token。
分析时应记录:
备份是否加密
是否有备份密码
能否解析 Keychain
敏感数据是否缺失
不能因为没有看到某项数据就断定不存在,必须结合提取方式说明数据范围。
十、时间格式与时区
iOS 数据中常见时间格式包括:
Unix 时间戳
毫秒级 Unix 时间戳
Apple Absolute Time
WebKit Time
字符串时间
Apple Absolute Time 以 2001-01-01 00:00:00 UTC 为起点。WebKit Time 常以 1601-01-01 为起点,单位可能是微秒。
时间分析必须确认:
时间起点
单位
是否 UTC
是否需要转换为本地时区
十一、总结
iOS 取证的核心是理解备份映射和应用沙箱。Manifest.db 负责告诉我们文件来自哪里,AppDomain 和 AppGroup 告诉我们应用数据在哪里,系统数据库则帮助还原设备行为。