帐户被锁定时如何恢复 Adium ICQ 联系人

帐户被锁定时如何恢复 Adium ICQ 联系人

我最近莫名其妙地被锁定了 10 多年的 ICQ 帐户——密码突然失效了。密码恢复不起作用,而且我从来没有给他们电子邮件地址(至少我这么认为,已经有一段时间了)。


当我启动 Adium 时,它会要求输入我无法提供的密码。不幸的是,它只显示已连接或正在连接的帐户的联系人。我的所有 ICQ 联系人都从联系人列表中消失了

我如何恢复 ICQ 帐号以及有关这些用户的一些身份信息?

答案1

Adium 用户帐户信息存储在/Users/danielbeck/Library/Application Support/Adium 2.0/Users/Default或可能存储在其中一个兄弟文件夹中(据我所知)。


他们似乎将联系信息存储在目录中的单独文件中(直到 2008 年底),但从那时起ByObject就切换到单个文件。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

虽然这种方法有点管用,但我甚至不确定它是否匹配所有联系人。有些条目没有识别信息(忽略垃圾邮件发送者?)等等。我期待更好的解决方案。

相关内容