How can I read very old iChat transcripts?

0

Sometime in 2005, Apple's iChat switched to writing its logs as binary plists. But before that, it was another format that I don't know how to read.

> file some-early-2005-log.chat
some-early-2005-log.chat: NeXT/Apple typedstream data, big endian, version 4, system 1000

Any suggestions?

lawrence

Posted 2017-06-07T18:55:25.170

Reputation: 1 587

Answers

2

It looks like that kind of file was created when apps used the NSArchiver APIs to serialize objects to a file on disk. That means it's very closely linked to the object classes in the app that created it. It's not a good way to make a portable file that can be shared with other apps, which is probably why abandoned it and moved on to something more portable like plists.

I think you're mostly out of luck without the c. 2004-2005 iChat AV codebase. You could use the strings(1) command to extract strings from those files, but you'd probably miss the dates, which are probably binary encoded.

Glancing at one of my old .chat files from that era in a hex editor, it looks like there's a 32-bit "seconds since the Unix epoch" timestamp a few bytes before each chat message string, and a 2-byte length value immediately preceding each chat message string. There's some stuff at the beginning of the file that tells who's chatting, and which font settings they're using.

Spiff

Posted 2017-06-07T18:55:25.170

Reputation: 84 656