Apple typedstream 형식의 리버스 엔지니어링: imessage-exporter 내부

2025-02-03

이 글에서는 imessage-exporter 프로젝트에서 수행한 Apple의 독점 바이너리 직렬화 프로토콜인 typedstream의 리버스 엔지니어링 과정을 자세히 설명합니다. iMessage 데이터 저장에 사용되는 typedstream은 문서화되어 있지 않으며 Apple의 공개 API에 포함되지 않습니다. iMessage 데이터베이스의 BLOB 데이터를 분석하여 저자는 typedstream 형식의 패턴을 식별했습니다. 예를 들어 0x84는 데이터 블록의 시작을 나타내고, 그 다음 바이트는 길이를 나타내며, 0x86은 블록의 끝을 나타냅니다. 이러한 패턴을 사용하여 저자는 typedstream 데이터를 역직렬화하여 iMessage 데이터에 대한 플랫폼 간 액세스를 달성했습니다.

더 보기