Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sethrj/iphone-message-export
Hackish tool to export Messages and attachments from an unencrypted iphone backup
https://github.com/sethrj/iphone-message-export
Last synced: 4 days ago
JSON representation
Hackish tool to export Messages and attachments from an unencrypted iphone backup
- Host: GitHub
- URL: https://github.com/sethrj/iphone-message-export
- Owner: sethrj
- License: apache-2.0
- Created: 2021-08-13T18:28:01.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-06-25T16:11:48.000Z (over 2 years ago)
- Last Synced: 2024-11-25T19:41:30.746Z (17 days ago)
- Language: Python
- Size: 10.7 KB
- Stars: 15
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- project-awesome - sethrj/iphone-message-export - Hackish tool to export Messages and attachments from an unencrypted iphone backup (Python)
README
# About
This is a hackish tool to export Messages and attachments from an unencrypted
iPhone backup. I've only tested it on my backup (which contains messages that
date back to 2010ish) with
- iOS 14.7 on macOS 11.5
- iOS 15.5 on macOS 11.6This is meant as a starting point for other people who want to hack around
with their backups and *not* as a finished product of any kind, although it
*may* work the first time for you.It's my first time using SQL so undoubtedly some of the queries could be run
more efficiently. However, the limiting factor seems to be the bandwidth of
copying files rather than the queries themselves (and/or the `stat`ting which
is less than optimal). But this is supposed to be run maybe once a year at most
when you want to export your messages, rather than repeatedly.The output is a series of directories named after the chat identifier (usually
the recipient's message handle or `chatNNN...` for group), inside of which is a
JSON messages file. Attachments are copied from the decrypted backup to a
subdirectory inside each chat.This requires at least Python 3.6, and probably 3.7.
Usage:
```console
$ python3 export.py "~/Library/Application Support/MobileSync/Backup/...."
"~/Desktop/iphone-export"
```