Bagaimana memulihkan kontak Adium ICQ ketika akun terkunci

1

Saya baru-baru ini dikunci dari akun ICQ saya yang berumur 10+ tahun tanpa alasan yang baik - kata sandi baru berhenti bekerja suatu hari. Pemulihan kata sandi tidak berfungsi dan saya tidak pernah memberi mereka alamat email (setidaknya itulah yang saya pikirkan, sudah lama).


Ketika saya memulai Adium, ia meminta kata sandi yang tidak dapat saya berikan. Sayangnya, ini hanya menampilkan kontak tersebut untuk akun yang terhubung atau terhubung. Semua kontak ICQ saya hilang dari daftar kontak

Bagaimana saya bisa memulihkan nomor akun ICQ dan beberapa informasi pengidentifikasi tentang para pengguna itu?

Daniel Beck
sumber
Sementara saya menjawab pertanyaan itu sendiri, saya terbuka terhadap solusi yang lebih baik. Mereka mungkin tidak yang membantu bagi saya lagi, tapi masih ada harus menjadi sesuatu yang lebih baik ...
Daniel Beck

Jawaban:

1

Informasi akun pengguna Adium disimpan di /Users/danielbeck/Library/Application Support/Adium 2.0/Users/Defaultatau mungkin, AFAIK, salah satu folder saudara.


Tampaknya mereka menyimpan informasi kontak dalam file individual di direktori ByObject(hingga akhir 2008), tetapi beralih ke file tunggal ByObjectPrefs.plistsejak saat itu.

Meskipun direktori libpurpleberisi blist.xml(daftar teman), direktori tersebut tidak mengandung alias pengguna Adium, hanya nama pengguna terakhir yang ditentukan sendiri oleh kontak, yang biasanya tidak terlalu berguna, tergantung pada orang.


ByObjectPrefs.plistadalah file binary `plist. Buat salinan dan konversi di Terminal ke XML menggunakan

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

Sayangnya, saya tidak dapat membaca formatnya dengan baik sejauh ini. Menyalin & menempelkan langsung dari file itu menyakitkan, tetapi agak berhasil.


Saya memulihkan kontak menggunakan ekspresi berikut:

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

Ini mencetak file, mencari kejadian <key>ICQ, menghapus XML dari baris berikutnya dan mencetaknya. Satu entri seperti itu terlihat seperti ini (nilai fantasi untuk melindungi yang tidak bersalah):

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

Meskipun ini agak berhasil, saya bahkan tidak yakin itu cocok dengan semua kontak. Beberapa entri tidak memiliki informasi pengidentifikasi (spammer yang diabaikan?), Dll. Saya menantikan solusi yang lebih baik.

Daniel Beck
sumber