Appleのtypedstream形式のリバースエンジニアリング:imessage-exporterの中身
2025-02-03
この記事では、imessage-exporterプロジェクトによって行われた、Apple独自のバイナリシリアル化プロトコルであるtypedstreamのリバースエンジニアリングのプロセスについて詳しく説明しています。iMessageデータの保存に使用されるtypedstreamは、ドキュメント化されておらず、Appleの公開APIの一部ではありません。iMessageデータベース内のBLOBデータを分析することにより、著者らはtypedstream形式内のパターンを特定しました。たとえば、0x84はデータブロックの開始を示し、それに続くバイトは長さを示し、0x86はブロックの終了を示します。これらのパターンを使用して、著者らはtypedstreamデータを逆シリアル化し、iMessageデータへのクロスプラットフォームアクセスを実現しました。
開発
バイナリシリアル化