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

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

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'))

Сохраняем код в файле ~/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 —

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

  11. 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'))
    
  12. 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

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

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

  15. Я проверил еще раз код все работает на 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'))
    
  16. Lex, еще раз спасибо.
    Скрипт работает. проверил под KDE4 на Debian Squeeze.

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

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

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

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

  18. ^ стоит в реальности под буквой «r» в KStringHandler.

Обсуждение закрыто.