So stellen Sie Adium ICQ-Kontakte wieder her, wenn das Konto gesperrt ist

787
Daniel Beck

Ich wurde vor kurzem aus meinem über 10-jährigen ICQ-Konto aus keinem guten Grund gesperrt - das Passwort hat eines Tages einfach aufgehört zu arbeiten. Die Passwortwiederherstellung funktioniert nicht und ich habe ihnen sowieso nie eine E-Mail-Adresse gegeben (zumindest denke ich, dass es schon eine Weile her ist).


Wenn ich Adium starte, wird nach einem Kennwort gefragt, das ich nicht angeben kann. Leider werden nur die Kontakte für Konten angezeigt, die verbunden sind oder eine Verbindung herstellen. Alle meine ICQ-Kontakte fehlen in der Kontaktliste

Wie kann ich die ICQ-Kontonummern und einige identifizierende Informationen zu diesen Benutzern wiederherstellen?

1
Während ich die Frage selbst beantwortete, bin ich offen für bessere Lösungen. Sie sind vielleicht nicht mehr so ​​hilfreich für mich, aber trotzdem muss es etwas Besseres geben ... Daniel Beck vor 13 Jahren 0

1 Antwort auf die Frage

1
Daniel Beck

Adium-Benutzerkontoinformationen werden in /Users/danielbeck/Library/Application Support/Adium 2.0/Users/Defaultoder möglicherweise AFAIK, einem der gleichgeordneten Ordner, gespeichert.


Es scheint, dass sie Kontaktinformationen in einzelnen Dateien im Verzeichnis gespeichert haben ByObject(bis Ende 2008), aber ByObjectPrefs.plistseitdem auf die einzelne Datei umgestellt sind .

Das Verzeichnis libpurpleenthält zwar eine blist.xml(Buddy-Liste), es enthält jedoch keine Adias-Aliasnamen, sondern nur den zuletzt selbst zugewiesenen Benutzernamen des Kontakts. Dies ist in Abhängigkeit von den Personen normalerweise nicht besonders nützlich.


ByObjectPrefs.plistist eine binäre plist-Datei. Erstellen Sie eine Kopie und konvertieren Sie sie mit XML in Terminal in XML

plutil -convert xml1 /Users/danielbeck/Library/Application\ Support/Adium\ 2.0/Users/Default/ByObjectPrefs\ Copy.plist

Leider konnte ich das Format bisher nicht automatisch lesen. Kopieren und Einfügen direkt aus der Datei ist schmerzhaft, funktioniert jedoch etwas.


Ich habe die Kontakte mit dem folgenden Ausdruck wiederhergestellt:

cat ByObjectPrefs\ 2.plist | grep -A 15 -P "^\t<key>ICQ" | grep -v "<dict>" | grep -v "</dict>" | sed "s| *<[^>]*>||g" | sed 's|ICQ\.||' | grep -v "Alias" | grep -v "ICQAlias

Es druckt die Datei, sucht nach Vorkommen <key>ICQ, entfernt das XML aus den folgenden Zeilen und druckt sie. Ein solcher Eintrag sieht folgendermaßen aus (Fantasy-Werte zum Schutz der Unschuldigen):

314159265 Firstname Lastname Last Seen Date 2011-03-05T15:56:59Z Last Seen Status Signing off Preferred Account 2 

Obwohl dies etwas funktioniert hat, bin ich nicht einmal sicher, ob es mit allen Kontakten übereinstimmt. Einige Einträge enthielten keine identifizierenden Informationen (ignorierte Spammer?) Usw. Ich freue mich auf eine bessere Lösung.