Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ReagentX/imessage-exporter
Export iMessage data + run iMessage Diagnostics
https://github.com/ReagentX/imessage-exporter
apple backup cli-app export imessage reverse-engineering
Last synced: 3 months ago
JSON representation
Export iMessage data + run iMessage Diagnostics
- Host: GitHub
- URL: https://github.com/ReagentX/imessage-exporter
- Owner: ReagentX
- License: gpl-3.0
- Created: 2022-05-05T02:33:49.000Z (over 2 years ago)
- Default Branch: develop
- Last Pushed: 2024-10-23T05:06:54.000Z (3 months ago)
- Last Synced: 2024-10-29T11:29:52.367Z (3 months ago)
- Topics: apple, backup, cli-app, export, imessage, reverse-engineering
- Language: Rust
- Homepage:
- Size: 14.3 MB
- Stars: 2,993
- Watchers: 26
- Forks: 122
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- Awesome-iPhoneBlog.de-List - ReagentX/imessage-exporter: Export MacOS iMessage data + run iMessage Diagnostics
- starred - ReagentX/imessage-exporter - Export iMessage data + run iMessage Diagnostics (Rust)
- project-awesome - ReagentX/imessage-exporter - Export iMessage data + run iMessage Diagnostics (Rust)
README
# imessage-exporter
This crate provides both a library to interact with iMessage data as well as a binary that can perform some useful read-only operations using that data. The aim of this project is to provide the most comprehensive and accurate representation of iMessage data available.
This software can:
- Save, export, backup, and archive iMessage data to open, portable formats
- Preserve multimedia content (images, videos, audio) from conversations
- Facilitate easy migration of message history between devices and platforms
- Run diagnostics on the iMessage database
- Give you full ownership and control over your communication history
- Support compliance with data retention policies or legal requirements
- Run on macOS, Linux, and Windows## Example Export
![HTML Export Sample](/docs/hero.png)
## Binary
The `imessage-exporter` binary exports iMessage data to `txt` or `html` formats. It can also run diagnostics to find problems with the iMessage database.
Installation instructions for the binary are located [here](imessage-exporter/README.md).
## Library
The `imessage_database` library provides models that allow us to access iMessage information as native data structures.
Documentation for the library is located [here](imessage-database/README.md).
### Supported Features
This crate supports every iMessage feature as of macOS 15.0.1 (24A348) and iOS 18.0.1 (22A3370):
- Multi-part messages
- Replies/Threads
- Formatted text
- Attachments
- Expressives
- Tapbacks
- Stickers
- Apple Pay
- URL Previews
- App Integrations
- Edited messages
- Handwritten messagesSee more detail about supported features [here](docs/features.md).
## Frequently Asked Questions
The FAQ document is located [here](/docs/faq.md).
## Special Thanks
- All of my friends, for putting up with me sending them random messages to test things
- [SQLiteFlow](https://www.sqliteflow.com), the SQL viewer I used to explore and reverse engineer the iMessage database
- [Xplist](https://github.com/ic005k/Xplist), an invaluable tool for reverse engineering the `payload_data` plist format
- [Compart](https://www.compart.com/en/unicode/), an amazing resource for looking up esoteric unicode details
- [Archive.org](https://archive.org/details/darwin_0.1), for hosting the Darwin source referenced in reverse engineering the `typedstream` format