Как восстановить сохраненный пароль в kopete

Для восстановления сохраненного пароля в для jabber-аккаунта  можно воспользоваться следующим кодом на питоне:

from ConfigParser import ConfigParser
import sys
from kdecore import KStringHandler
config = ConfigParser()
config.read("./share/config/kopeterc")
cryptedpass = config.get("Account_JabberProtocol_" + sys.argv[1], 'Password')
print KStringHandler().obscure(cryptedpass.decode('utf-8'))

Сохраняем код в файле ~/getpass.py и затем выполняем его:

#  ./getpass.py userid@jabber.org

В итоге получаем расшифрованный пароль для аккаунта 🙂

Если в скрипте заменить Account_JabberProtocol_ на Account_ICQProtocol_ то можно вытянуть из конфига kopete пароль от icq

Код нашел на этом блоге.

Для KDE4 код такой:

from ConfigParser import ConfigParser
import sys
from PyKDE4.kdecore import *
config = ConfigParser()
config.read('./kopeterc')
cryptedpass = config.get('Account_JabberProtocol_' + sys.argv[1], 'Password')
print KStringHandler.obscure(cryptedpass.decode('utf-8'))

Этот код для KDE4 любезно предоставил Lex

23 comments on “Как восстановить сохраненный пароль в kopete

  1. Ух ты! Спасибо !!!
    Забыл пароль от аськи и не мог использовать другой клиент.

  2. Спасибо, давно пытаюсь восстановить пароль от аси, при запуске кода выдает ошибку:

    Traceback (most recent call last):
      File “./getpass.py”, line 3, in
        from kdecore import KStringHandler
    ImportError: No module named kdecore

  3. Алексей, у Вас установлен kdecore ?
    ps. данным скриптом восстанавливал сохраненный пароль в kde 3.5

  4. Пользуюсь Linux относительно недавно, так что прошу извинить за возможную некомпетентность. У меня Ubuntu 9.10 c Gnome 2.2, в родных репозиториях нет kdecore, пытаюсь найти какие репозитории необходимо подключить.

  5. kdecore входит в состав KDE. kopete так же входит в состав kde.
    Насчет Гнома не подскажу, к сожалению.

  6. Ставить KDE пока нет желания. Попробую скачать Live CD kubuntu и скопирую kopeterc, позже напишу что получилось.

  7. в KDE4 все повторяется
    Traceback (most recent call last):
    File «./getpass.py», line 3, in
    from kdecore import KStringHandler
    ImportError: No module named kdecore

    Пробовал строчку:
    from kdecore import KStringHandler
    заменить на:
    from PyKDE4.kdecore import KStringHandler
    Что- то начинает читать пароль из конфига но на выводе все останавливается:
    File “getpass.py”, line 8, in
    print KStringHandler().obscure(cryptedpass.decode(“utf-8”))
    TypeError: PyKDE4.kdecore.KStringHandler represents a C++ namespace and cannot be instantiated

    сейчас сижу под Live Kubuntu 9.10 и KDE 4.3(девственная)
    –help

  8. Получилось, кубунту 8.04 + 3 кеды и все заработало!!! Запустил лайв скопировал в .kde/share/config/ свой kopeterc скрипт сработал как часы:)

  9. >>> from ConfigParser import ConfigParser
    import sys
    from kdecore import KStringHandler

    config = ConfigParser()
    config.read(»~/kopeterc»)
    cryptedpass = config.get(»Account_ICQProtocol_» + sys.argv[1], ‘Password’)
    print KStringHandler().obscure(cryptedpass.decode(’utf-8?))

    SyntaxError: unexpected indent (, line 1)

    что-то никак не получается. ошибка да ошибка.

  10. WP кавычки подпортил слегка. Нужно использовать одинарные кавычки
    ps. будет работать только под кде3

    — cut here —

    from ConfigParser import ConfigParser
    import sys
    from kdecore import KStringHandler
    
    config = ConfigParser()
    config.read('.kde/share/config/kopeterc')
    cryptedpass = config.get('Account_JabberProtocol_' + sys.argv[1], 'Password')
    print KStringHandler().obscure(cryptedpass.decode('utf-8'))
    

    — cut here —

  11. А чтобы работал под kde4! Что нужно?

    • Не знаю 🙂
      у меня кде-3 и пока обновлять нет никакого желания.

  12. from ConfigParser import ConfigParser
    import sys
    from PyKDE4.kdecore import *
    config = ConfigParser()
    config.read('/local/kopeterc')
    cryptedpass = config.get('Account_JabberProtocol_' + sys.argv[1], 'Password')
    print KStringHandler.obscure(cryptedpass.decode('utf-8'))
    
  13. Lex, ошибку выдает..!

    Traceback (most recent call last):
    File “jabber.py”, line 6, in
    cryptedpass = config.get(‘Account_JabberProtocol_’ + sys.argv[1], ‘Password’)
    IndexError: list index out of range

  14. Алексей, по пробу изменить везде кавычки, они изменились при вставки сюда.
    PS. у меня OpenSuse 11.2 KDE4

  15. Lex, я поправил Ваш код (WP заменяет кавычки “по своему”).
    Код опробовал на Debian KDE4 – у меня возникает таже самая ошибка.

  16. Я проверил еще раз код все работает на OpenSuse 11.2 KDE4 100% в остальных ОС работоспособность этого скрипта не могу отвечать, могу посоветовать проверить все lib`ы.

    from ConfigParser import ConfigParser
    import sys
    from PyKDE4.kdecore import *
    config = ConfigParser()
    config.read('/home/cвой каталог/.kde4/share/config/kopeterc')
    cryptedpass = config.get('Account_JabberProtocol_' + sys.argv[1], 'Password')
    print KStringHandler.obscure(cryptedpass.decode('utf-8'))
    
  17. Lex, еще раз спасибо.
    Скрипт работает. проверил под KDE4 на Debian Squeeze.

    Проблема была в том, что сам конфиг копыта начинался не с блока [ … ]

  18. Может кто-нибудь помочь взял ваш скрипт, но в итоге вот такая ошибка

    $ python ./getpass.py icq_number
      File "./getpass.py", line 7
        print KStringHandler.obscure(cryptedpass.decode('utf-8'))
                           ^
    SyntaxError: invalid syntax
    

    В питоне я не разбираюсь, и в чем тут проблема совсем не понимаю.

  19. ^ стоит в реальности под буквой “r” в KStringHandler.

Comments are closed.