imessage_database/util/typedstream/
mod.rs

1/*!
2 Contains logic and data structures used to parse and deserialize `typedstream` data into native Rust data structures.
3
4 ## Overview
5
6 The typedstream format is a binary serialization protocol designed for `C` and `Objective-C` data structures.
7 It is primarily used in Apple's Foundation framework, specifically within the `NSArchiver` and `NSUnarchiver` classes.
8
9 ## Origin
10
11 The format is derived from the data structure used by NeXTSTEP's `NXTypedStream` APIs.
12
13 ## Features
14
15 - Pure Rust implementation for efficient and safe deserialization
16 - No dependencies on Apple frameworks
17 - Robust error handling for malformed or incomplete `typedstream` data
18
19 ## Reverse Engineering
20
21 A blog post describing the reverse engineering of `typedstream` is located [here](https://chrissardegna.com/blog/reverse-engineering-apples-typedstream-format/).
22*/
23
24pub mod models;
25pub mod parser;
26mod tests;