iMessage
Schema
File: imessage-001.json
{
"company": "Apple",
"name": "iMessage",
"runID": "imessage-001-1731702239127",
"timestamp": 1731702239127,
"content": [
{
"id": 349530,
"text": "Message text",
"timestamp": "Timestamp of message",
"contact": "Name of contact",
"is_from_me": true
},
...
]
}
Export Process
Mac:
Steps:
- The app uses the 'chat.db' file on the Mac to extract the messages, as well as the 'AddressBook-v22.abcddb' file to extract the contacts.
- The app runs SQL queries on these files to extract the messages and contacts and merge them into a single JSON file.
Files for reference:
imessage.ts
imessage_mac.py
Windows:
Steps:
- The app takes in the path of the iPhone backup file and requires a password to decrypt it.
- The app uses the
iphone_backup_decrypt
library to decrypt the backup file. - The app runs SQL queries on the decrypted backup file to extract the messages and contacts and merge them into a single JSON file.
Files for reference:
imessage.ts
imessage_windows.py