跳到主要内容
Reincubate

App 如何在 iPhone 备份中存储数据:文件名和哈希值

Aidan Fitzpatrick

发布于 2012年4月23日· 更新于 2022年8月1日

Cover image for: App 如何在 iPhone 备份中存储数据:文件名和哈希值

本文将帮助你在 iPhone 备份中找到属于某个特定 App 的文件,也能帮助你更好地了解 iOS 上文件和文件夹的组织方式。

从 iOS 备份中恢复文件最简单的方法是使用 iPhone Backup Extractor:免费版可以帮你找到并提取所需的文件,你无需了解本文中的细节。如果你想这样做,可以在本网站顶部菜单中找到我们的多份实用指南,它们会引导你完成整个过程。

了解 iOS 备份中的哈希文件名

为你的 iPhone、iPad 或 iPod Touch 执行 iTunes 备份或 iCloud 备份时,重要数据会保存到备份文件夹内的各个文件中。

这些文件名经过编码,当你访问备份文件夹时,会显示为由字母和数字组成的字符串,这是通过十六进制编码的 SHA-1 哈希实现的。在许多版本的 iPhone 操作系统中,使用的名称相同。

以下是在 iTunes 备份文件夹中找到的一些核心 SQLite 数据库文件。iTunes 备份和 iCloud 备份的文件名相同。

iOS 16、15 和 14 的 iPhone 备份文件位置

内容实际文件名备份文件名
短信sms.db3d0d7e5fb2ce288813306e4d4636395e047a3d28
通讯录AddressBook.sqlitedb31bb7ba8914766d4ba40d6dfb6113c8b614be442
日历Calendar.sqlitedb2041457d5fe04d39d0ab481178355df6781e6858
提醒事项Calendar.sqlitedb2041457d5fe04d39d0ab481178355df6781e6858
备忘录notes.sqliteca3bc056d4da0bbf88b5fb3be254f3b7147e639c
备忘录NoteStore.sqlite4f98687d8ab0d6d1a371110e6b7300f6e465bef2
通话记录call_history.db2b2b0084a1bc3a5ac8c27afdf14afb42c61a19ca
通话记录CallHistory.storedata5a4935c78a5255723f707230a451d79c540d2741
位置consolidated.db4096c9ec676f2847dc283405900e284a7c815836
网页历史记录History.db1a0e7afc19d307da602ccdcece51af33afe92c53
语音信箱voicemail.db992df473bbb9e132f4b3b6e4d33f72171e97bc7a
照片Photos.sqlite12b144c0bd44f2b3dffd9186d3f9c05b917cee25
壁纸(主屏幕)HomeBackground.cpbitmapb97b0c3bc8a6bb221d0849b450fbd92b5d06a301
壁纸(锁定屏幕)LockBackground.cpbitmap86736007d0166a18c646c567279b75093fc066fe

iOS 13、12 和 11 的 iPhone 备份文件位置

内容实际文件名备份文件名
短信sms.db3d0d7e5fb2ce288813306e4d4636395e047a3d28
通讯录AddressBook.sqlitedb31bb7ba8914766d4ba40d6dfb6113c8b614be442
日历Calendar.sqlitedb2041457d5fe04d39d0ab481178355df6781e6858
提醒事项Calendar.sqlitedb2041457d5fe04d39d0ab481178355df6781e6858
备忘录notes.sqliteca3bc056d4da0bbf88b5fb3be254f3b7147e639c
备忘录NoteStore.sqlite4f98687d8ab0d6d1a371110e6b7300f6e465bef2
通话记录call_history.db2b2b0084a1bc3a5ac8c27afdf14afb42c61a19ca
通话记录CallHistory.storedata5a4935c78a5255723f707230a451d79c540d2741
位置consolidated.db4096c9ec676f2847dc283405900e284a7c815836
网页历史记录History.dbe74113c185fd8297e140cfcf9c99436c5cc06b57
语音信箱voicemail.db992df473bbb9e132f4b3b6e4d33f72171e97bc7a
照片Photos.sqlite12b144c0bd44f2b3dffd9186d3f9c05b917cee25
壁纸(主屏幕)HomeBackground.cpbitmapb97b0c3bc8a6bb221d0849b450fbd92b5d06a301
壁纸(锁定屏幕)LockBackground.cpbitmap86736007d0166a18c646c567279b75093fc066fe

iOS 10、9、8 和 7 的 iPhone 备份文件位置

内容实际文件名备份文件名
短信sms.db3d0d7e5fb2ce288813306e4d4636395e047a3d28
通讯录AddressBook.sqlitedb31bb7ba8914766d4ba40d6dfb6113c8b614be442
日历Calendar.sqlitedb2041457d5fe04d39d0ab481178355df6781e6858
提醒事项Calendar.sqlitedb2041457d5fe04d39d0ab481178355df6781e6858
备忘录notes.sqliteca3bc056d4da0bbf88b5fb3be254f3b7147e639c
通话记录call_history.db2b2b0084a1bc3a5ac8c27afdf14afb42c61a19ca
通话记录CallHistory.storedata5a4935c78a5255723f707230a451d79c540d2741
位置consolidated.db4096c9ec676f2847dc283405900e284a7c815836
照片Line.sqlite2d711a1f5613f5259730b98328a3f7e816698f88

下表列出了 WhatsApp、Snapchat、Kik、Viber 和 WeChat 数据库的路径。这些文件名适用于 iOS 8 和 9,在更旧的 iOS 版本中名称有所不同。

聊天 App存储位置备份文件名
WhatsAppApp Domain/net.whatsapp.WhatsApp/, Documents/ChatStorage.sqlite1b6b187a1b60b9ae8b720c79e2c67f472bab09c0, 275ee4a160b7a7d60825a46b0d3ff0dcdb2fbc9d, 7c7fba66680ef796b916b067077cc246adacf01d
SnapchatApp Domains/com.toyopagroup.picaboo/、Documents/chats.plist(私信)或 stories.plist(公开快拍)1cd3cd2b412f7b045dd479b617cb2a4f99ffdfee, 7cdb9af6c5352b97cc0f87369df43c49a45c99f3
KikApp Domain/group.com.kik.chat/, cores/private/…/kik.sqlite8e281be6657d4523710d96341b6f86ba89b56df7
ViberApp Domain/com.viber/, Documents/Contacts.datab39bac0d347adfaf172527f97c3a5fa3df726a3a
WeChatApp Domain/com.tencent.xin/, Documents/DB/MM.sqlite(动态变化)
LinePhotos.sqlite12b144c0bd44f2b3dffd9186d3f9c05b917cee25

iOS 6 的 iPhone 备份文件名

内容实际文件名备份文件名
短信sms.db3d0d7e5fb2ce288813306e4d4636395e047a3d28
通讯录AddressBook.sqlitedb31bb7ba8914766d4ba40d6dfb6113c8b614be442
日历Calendar.sqlitedb2041457d5fe04d39d0ab481178355df6781e6858
提醒事项Calendar.sqlitedb2041457d5fe04d39d0ab481178355df6781e6858
备忘录notes.sqliteca3bc056d4da0bbf88b5fb3be254f3b7147e639c
通话记录call_history.db2b2b0084a1bc3a5ac8c27afdf14afb42c61a19ca
位置consolidated.db已从 iTunes 备份中移除,但 iOS 中仍保留

iOS 5 的 iPhone 备份文件名

内容实际文件名备份文件名
短信sms.db3d0d7e5fb2ce288813306e4d4636395e047a3d28
通讯录AddressBook.sqlitedb31bb7ba8914766d4ba40d6dfb6113c8b614be442
日历Calendar.sqlitedb2041457d5fe04d39d0ab481178355df6781e6858
提醒事项Calendar.sqlitedb2041457d5fe04d39d0ab481178355df6781e6858
备忘录notes.sqliteca3bc056d4da0bbf88b5fb3be254f3b7147e639c
通话记录call_history.db2b2b0084a1bc3a5ac8c27afdf14afb42c61a19ca
位置consolidated.db已从 iTunes 备份中移除,但 iOS 中仍保留

iOS 4 的 iPhone 备份文件名

内容实际文件名备份文件名
短信sms.db3d0d7e5fb2ce288813306e4d4636395e047a3d28
通讯录AddressBook.sqlitedb31bb7ba8914766d4ba40d6dfb6113c8b614be442
日历Calendar.sqlitedb2041457d5fe04d39d0ab481178355df6781e6858
备忘录notes.sqliteca3bc056d4da0bbf88b5fb3be254f3b7147e639c
通话记录call_history.db2b2b0084a1bc3a5ac8c27afdf14afb42c61a19ca
位置consolidated.db4096c9ec676f2847dc283405900e284a7c815836

iOS 3 和 2 的 iPhone 备份文件名

内容实际文件名备份文件名
短信sms.db3d0d7e5fb2ce288813306e4d4636395e047a3d28
通讯录AddressBook.sqlitedb31bb7ba8914766d4ba40d6dfb6113c8b614be442
日历Calendar.sqlitedb2041457d5fe04d39d0ab481178355df6781e6858
备忘录notes.db740b7eaf93d6ea5d305e88bb349c8e9643f48c3b
通话记录call_history.dbff1324e6b949111b2fb449ecddb50c89c3699a78

iOS 1 的 iPhone 备份文件名

内容实际文件名备份文件名
短信sms.db3d0d7e5fb2ce288813306e4d4636395e047a3d28
通讯录AddressBook.sqlitedbadb8c77534444e97c31ff15924d50f3ed1fbd3b1
日历Calendar.sqlitedb14ee8cdc3e6e0220399ff210246e1c92b7df89a0
备忘录notes.db740b7eaf93d6ea5d305e88bb349c8e9643f48c3b
通话记录call_history.dba49bfab36504be1bf563c1d1813b05efd6076717

如你所见,处理这样命名的文件相当困难。如果你想用更简单的方法了解 iTunes 备份或 iCloud 备份中有什么,我们提供了一款工具,可以为你完成所有这些解码工作。请看看 iPhone Backup Extractor。

了解专家模式和 iOS 域

为 iOS 开发 App 时,开发者需要就如何以及在哪里存储数据做出许多决定。(我们另外撰文介绍过App 开发者在决定用户数据存储位置时面临的取舍。)要了解并熟悉 iOS 中各个 App 把文件存储在哪里,最好的方法是使用 iPhone Backup Extractor 的免费版。打开它,在左侧导航菜单中选择一个备份,然后在屏幕主体部分选择“专家模式”,你会看到大约 18 个文件夹的列表,很可能以“Application Groups”开头。严格来说,这些顶层分组被称为“域”(Domain)。

许多域只是被 App 间接使用。例如,“Keyboard”域可能包含一些来自第三方键盘的数据,但不包含常规 App 的数据。

有些域,例如“Media”和“Camera Roll”,会被内置的“信息”和“相机”App 大量使用。不过,在追查第三方 App 的数据时,我们最关注的是“Application Groups”和“Applications”这两个域。

命名空间中有什么?

如果你展开“Applications”域,查看其中包含的文件夹,会看到许多名称古怪的文件夹。示例如下:

  • com.apple.Health
  • com.burbn.instagram
  • com.facebook.Messenger
  • snapchat.picaboo
  • com.spotify.client
使用 iPhone Backup Extractor 从 App 中恢复 iOS 数据

使用 iPhone Backup Extractor 从 App 中恢复 iOS 数据

这些文件夹是 App 存储数据的主要位置,它们通常采用相同的格式命名。早在 1996 年,Sun Microsystems 发布了一种名为 Java 的编程语言。Java 的文档规定了一种方法,让第三方软件发行商发布软件时不会与其他开发者的软件冲突。其窍门是取公司网站的名称(例如 apple.com),将其反转,然后加上产品名称。因此,Apple 的“健康”App 位于 com.apple.Health 之下,而 iPhone Backup Extractor 理应位于 com.reincubate.iPhoneBackupExtractor 之下。这些名称被称为“命名空间”,Sun 还发布了一些相关的补充规则。

Apple 在设计 iOS 时将其采纳为最佳实践。当然,这种命名标准只是一项指导原则。正如 Snapchat(snapchat.picaboo)的例子所示,并非所有人都遵循相同的规则。这未必是坏事,但在尝试恢复数据时,保持一致会很有帮助!

在某些情况下,App 的命名空间会揭示一段有趣的历史渊源。Instagram 的命名空间是 com.burbn.instagram,因为……早在 2010 年,Instagram 的名字还是 Burbn。

热门 iOS App 把数据存储在哪里?

下表显示了若干热门 iOS App 的命名空间。别忘了,iPhone Backup Extractor 内置了这份列表(并且了解不同版本的 App 和 iOS 之间的变化),因此在协助你恢复 iOS 数据时,它总能知道该去哪里查找。

AppiOS 命名空间
Facebookcom.facebook.Facebook, com.facebook.Messenger
Instagramcom.burbn.instagram
Snapchatsnapchat.picaboo
信息Home/Library/SMS
Spotifycom.spotify.client
Pinterestpinterest
Skypecom.skype.skype
Shazamcom.shazam.Shazam

iOS App 如何存储数据,又如何读取这些数据?

App 开发者可以在自己的 App 中自由选择任何数据格式。如果手动在备份中查找数据,iPhone Backup Extractor 的用户通常会遇到三种格式:

  • XML Plist
  • 二进制 Plist
  • SQLite 数据库

XML Plist 和二进制 Plist 通常都带有“.plist”文件扩展名。不过,许多其他扩展名也可能表示文件是 Plist,例如“.cookies”。Plist 是“Property list”(属性列表)的缩写,它们是 Apple 推荐用于存储简单数据集合的文件格式。XML Plist 通常可以直接阅读,因为它们以纯文本形式存储,但二进制 Plist 直接查看时通常无法理解。

幸运的是,iPhone Backup Extractor 的免费版内置了 Plist 查看器和编辑器:在“文件”菜单中选择“查看/编辑 Plist”,即可查看任何 Plist 文件的内容。或者,在专家模式下,用户可以右键点击文件并选择“以 Plist 查看”。

在 iPhone Backup Extractor 中以 Plist 查看

在 iPhone Backup Extractor 中以 Plist 查看

SQLite 数据库正如你所料:是结构化数据的集合。它们通常带有“.db”或“.sqlite3”文件扩展名。这些文件需要专门的编辑器才能读取,但 iPhone Backup Extractor 具备相应的技术,可以替你查询它们。

iPhone 备份中的每个域包含什么?

iOS 备份域在此域中找到的数据
Application GroupsApp 存储在这里的数据,在设备上可以相对更自由地共享。许多 App 会在这里存储少量数据,但你很少会看到有价值的内容。
Application Plugins在这里存储数据的 App,通常是将其作为 iOS 扩展的一部分,例如 Watch 插件、第三方键盘、小组件、共享扩展或拟我表情。此域很少包含用户数据。
Applications这是 App 在 iPhone 上存储用户数据的核心域。每个 App 都有自己的命名空间,如上文“命名空间中有什么?”部分所述。
Camera Roll“Camera Roll”域包含存储在 iOS 设备上的所有照片、视频和元数据。如果设备设置为“优化存储空间”,而没有在本地存储所有照片,此域包含的信息可能比预期的少。
Databases在现代 iOS 安装中,这里存储的信息很少。
HealthHealthKit 和医疗数据存储在“Health”域中,与已配对 Apple Watch 共享的活动数据也存储在此。
Home“Home”域是许多 Apple 内置 App(例如“信息”、“备忘录”和“日历”)的信息宝库。
HomeKit此域存储有关 Apple HomeKit 配置状态的少量信息。
Install“Install”域包含元数据,用于指明 iOS 设备上安装了哪些 Apple 内置 App。
Keyboard语言和键盘配置存储在此域中。
KeychainiOS 设备的钥匙串(用户密码的集合)以 SQLite 文件的形式存储在这里。
Managed Preferences此域包含与 iOS 设备管理相关的数据。如果你的设备已注册到 MDM(移动设备管理)项目中,比如由学校或雇主管理,一些元数据就会存储在这里。
Media此域存储多种类型的媒体。例如,用户可以在这里找到短信附件、录音和照片流数据。
Root“Root”域包含用于设置 iOS 设备的基础配置文件。
System Containers“System Containers”域包含来自 App Store App 和其他一些 iOS 进程的少量元数据。
System Preferences此域包含 iOS 设备状态的底层信息。例如,你可以了解其网络配置,或它最近连接过的 Wi-Fi 网络或 VPN。
System Shared Containers一些可在 iOS 内部共享数据的 iOS 系统进程会把数据存储在这里。例如,想进一步了解设备上的蓝牙活动时,这里是个不错的起点。
Wireless“Wireless”域包含有关 iOS 使用蜂窝网络和 Wi-Fi 网络,以及最近 IP 地址分配情况的丰富信息。

后续步骤

不妨下载 iPhone Backup Extractor,或进一步了解 Reincubate 以及我们如何帮助世界各地的客户恢复数据?

如果你想进一步了解 iOS 或 iPhone Backup Extractor,本网站提供了丰富的指南和文章,帮助你充分利用自己的数据。不妨从我们的文章备份中存储与不存储的内容开始。我们的支持中心还包含更多知识库文章,解答常见问题。


关于作者

Aidan Fitzpatrick

创始人兼首席执行官

Aidan 于 2008 年创立了 Reincubate,此前他打造出了全球首款 iOS 数据恢复工具。自此,他带领公司成长为全球顶尖的独立软件开发商之一,与 AMD、Qualcomm、HP 等公司合作,率先为视频软件打造出具有重要意义的机器学习功能,其中以 Camo 应用生态系统最为突出。在 Aidan 的领导下,Reincubate 四次荣获英国商业界的最高荣誉,入选《星期日泰晤士报》百强科技企业榜单,并凭借 Apple Design Award 与 App Store 提名获得业界认可。他的研究成果与方法常被移动取证领域的学术论文引用,他还曾受邀在 Google、Microsoft、Snap 等公司举办的活动上发表演讲。


相关文章

需要帮助吗?

我们会尽力在一个工作日内回复所有消息。

support@reincubate.com
帮助