Как восстановить контакты Adium ICQ, когда аккаунт заблокирован

731
Daniel Beck

Я недавно был заблокирован из своей учетной записи ICQ 10 лет без уважительной причины - пароль однажды перестал работать. Восстановление пароля не работает, и я все равно не дал им адрес электронной почты (по крайней мере, я так думаю, это было давно).


Когда я запускаю Adium, он запрашивает пароль, который я не могу предоставить. К сожалению, он отображает только те контакты для учетных записей, которые подключены или подключаются. Все мои ICQ контакты отсутствуют в списке контактов

Как я могу восстановить номера аккаунта ICQ и некоторую идентифицирующую информацию об этих пользователях?

1
Пока я сам отвечал на вопрос, я открыт для лучших решений. Они могут быть не так уж полезны для меня, но все же, должно быть что-то лучше ... Daniel Beck 13 лет назад 0

1 ответ на вопрос

1
Daniel Beck

Информация об учетной записи пользователя Adium хранится в /Users/danielbeck/Library/Application Support/Adium 2.0/Users/DefaultAFAIK или, возможно, в одной из дочерних папок.


Кажется, что они хранили контактную информацию в отдельных файлах в каталоге ByObject(до конца 2008 года), но с ByObjectPrefs.plistтех пор перешли на один файл .

Хотя каталог libpurpleсодержит blist.xml(список друзей), он не содержит псевдонимов пользователя Adium, а только последнее само назначенное имя пользователя контакта, которое, как правило, не так уж и полезно, в зависимости от людей.


ByObjectPrefs.plistэто двоичный файл `plist. Создать копию и конвертировать в Терминале в XML используя

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

К сожалению, я не смог правильно автоматически прочитать его формат. Копировать и вставлять прямо из файла - это больно, но все же работает.


Я восстановил контакты, используя следующее выражение:

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

Он печатает файл, ищет вхождения <key>ICQ, удаляет XML из строк, следующих за этим, и печатает их. Одна такая запись выглядит следующим образом (фантазийные ценности для защиты невинных):

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

Хотя это несколько сработало, я даже не уверен, что это соответствует всем контактам. Некоторые записи не имели идентифицирующей информации (игнорируемые спамеры?) И т. Д. Я с нетерпением жду лучшего решения.