初始化向量:什么是cacheV0.db?为什么其中只有图像?
上周,出色的Heather Charpentier(我在Digital Forensics Now Podcast的联合主持人)和我一起致力于为iOS中的Google Chats构建解析器。在寻找通过聊天共享图像的位置时,我们在/private/var/mobile/Data/Application/GUID/Library/Caches/com.google.Dynamite/ImageFetcherCache/目录中发现了一个名为cacheV0.db的SQLite数据库。
上下文中的cacheV0.db文件
尽管我们在应用程序目录的其他位置找到了与聊天相关的图像,但这个数据库包含了通过聊天发送的所有文件的较低分辨率副本,包括未通过用户可归因操作共享的用户头像。该数据库还包含来自已删除聊天的图像,这些图像并未保留在聊天图像保存的文件夹中。
这个数据库在功能上似乎类似于某些Android应用中的Glide图像管理器缓存功能,该功能会生成并保存应用程序界面渲染过的每个图像的缩略图。在此上下文中,“渲染”意味着在应用程序界面内向用户显示图像。您可以在此处观看详细说明Glide图像管理器缓存功能及其取证重要性的视频:https://youtu.be/Rlp-h9V6FI0
cache表
cacheV0.db仅由一个名为cache的表组成,该表仅包含两个字段:id和data。id字段为整数类型,从数字1开始顺序递增。data字段为blob类型,包含前面提到的类似缩略图的图像。
根据我们的观察,关于数据库实现的一些细节:
- 我们未能在数据库中的图像与包含聊天的数据库之间找到任何直接连接。它的行为似乎类似于Glide,数据库中的图像被应用程序用于渲染目的,但与聊天交互中发送和接收的实际图像是分开的。
- 我们知道已删除的图像在数据库中,因为Heather创建了数据集并拥有其过程的详细文档。我们知道主图像目录中缺少哪些图像,并在数据库中找到了这些副本。
- 我们在iOS的Google Voice应用中也发现了另一个cacheV0.db数据库。这似乎是Google使用的图像渲染管理过程。到目前为止,我们在Google应用之外尚未发现此数据库。
总结起来,这个数据库似乎:
- 用于保存和管理应用程序用于向用户渲染的图像。
- 在源文件被删除后仍保留图像副本。
- 被Google应用程序使用。
如果任何人遇到此数据库的其他实现,请分享您的发现。
为了自动化解析iOS中的这些数据库,我在iLEAPP中创建了Image CacheV0解析器。
iLEAPP的cacheV0.db解析器
iLEAPP是一个基于Python的免费开源社区驱动平台,用于解析iOS提取物以进行数字取证。您可以在此处找到该工具:https://github.com/abrignoni/iLEAPP
如有问题或评论,请通过此处在所有社交媒体上找到我:https://linqapp.com/abrignoni