Wie kann ich sehr alte iChat-Protokolle lesen?

508
lawrence

Irgendwann im Jahr 2005 wechselte Apples iChat, seine Protokolle als binäre Plists zu schreiben. Aber vorher war es ein anderes Format, das ich nicht lesen kann.

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

Irgendwelche Vorschläge?

0

1 Antwort auf die Frage

2
Spiff

Es sieht so aus, als ob diese Art von Datei erstellt wurde, als Apps die NSArchiver-APIs verwendeten, um Objekte in eine Datei auf der Festplatte zu serialisieren. Das bedeutet, dass er sehr eng mit den Objektklassen in der App verknüpft ist, mit der er erstellt wurde. Es ist keine gute Möglichkeit, eine tragbare Datei zu erstellen, die mit anderen Apps gemeinsam genutzt werden kann. Aus diesem Grund wurde sie wahrscheinlich aufgegeben und zu etwas tragbareren Plists weiterentwickelt.

Ich denke, Sie haben meistens kein Glück ohne die c. IChat AV-Codebasis 2004-2005. Sie können den strings(1)Befehl verwenden, um Zeichenfolgen aus diesen Dateien zu extrahieren, aber Sie würden wahrscheinlich die Datumsangaben verpassen, die wahrscheinlich binär codiert sind.

In einem Hex-Editor haben Sie einen Blick auf eine meiner alten .chat-Dateien aus dieser Ära geworfen. Es scheint, als gäbe es ein paar Sekunden vor der Chat-Nachrichtenzeichenfolge einen 32-Bit-Zeitstempel ("Sekunden seit der Unix-Epoche") und sofort einen Wert von 2 Byte Vor jeder Chat-Nachrichtenzeichenfolge. Am Anfang der Datei finden Sie einige Informationen, die angeben, wer gerade chattet und welche Schriftarteinstellungen verwendet werden.