Для восстановления сохраненного пароля в 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 и затем выполняем его:
# python ./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
Ух ты! Спасибо !!!
Забыл пароль от аськи и не мог использовать другой клиент.
Спасибо, давно пытаюсь восстановить пароль от аси, при запуске кода выдает ошибку:
Traceback (most recent call last):
File “./getpass.py”, line 3, in
from kdecore import KStringHandler
ImportError: No module named kdecore
Алексей, у Вас установлен kdecore ?
ps. данным скриптом восстанавливал сохраненный пароль в kde 3.5
Пользуюсь Linux относительно недавно, так что прошу извинить за возможную некомпетентность. У меня Ubuntu 9.10 c Gnome 2.2, в родных репозиториях нет kdecore, пытаюсь найти какие репозитории необходимо подключить.
kdecore входит в состав KDE. kopete так же входит в состав kde.
Насчет Гнома не подскажу, к сожалению.
Ставить KDE пока нет желания. Попробую скачать Live CD kubuntu и скопирую kopeterc, позже напишу что получилось.
Конечно пишите, было бы замечательно. 🙂
в 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.04 + 3 кеды и все заработало!!! Запустил лайв скопировал в .kde/share/config/ свой kopeterc скрипт сработал как часы:)
>>> 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)
что-то никак не получается. ошибка да ошибка.
WP кавычки подпортил слегка. Нужно использовать одинарные кавычки
ps. будет работать только под кде3
— cut here —
— cut here —
А чтобы работал под kde4! Что нужно?
Не знаю 🙂
у меня кде-3 и пока обновлять нет никакого желания.
Lex, спасибо за код.
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
Алексей, по пробу изменить везде кавычки, они изменились при вставки сюда.
PS. у меня OpenSuse 11.2 KDE4
Lex, я поправил Ваш код (WP заменяет кавычки “по своему”).
Код опробовал на Debian KDE4 – у меня возникает таже самая ошибка.
Я проверил еще раз код все работает на OpenSuse 11.2 KDE4 100% в остальных ОС работоспособность этого скрипта не могу отвечать, могу посоветовать проверить все lib`ы.
Вот кое что нашел, может пригодится))
http://ru.wikiversity.org/wiki/Программирование_и_научные_вычисления_на_языке_Python/§6
Lex, еще раз спасибо.
Скрипт работает. проверил под KDE4 на Debian Squeeze.
Проблема была в том, что сам конфиг копыта начинался не с блока [ … ]
Может кто-нибудь помочь взял ваш скрипт, но в итоге вот такая ошибка
В питоне я не разбираюсь, и в чем тут проблема совсем не понимаю.
^ стоит в реальности под буквой “r” в KStringHandler.