Для восстановления сохраненного пароля в 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
Popularity: 9%

Ух ты! Спасибо !!!
Забыл пароль от аськи и не мог использовать другой клиент.
Спасибо, давно пытаюсь восстановить пароль от аси, при запуске кода выдает ошибку:
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 —
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 —
А чтобы работал под kde4! Что нужно?
Не знаю
у меня кде-3 и пока обновлять нет никакого желания.
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'))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`ы.
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'))Вот кое что нашел, может пригодится))
Lex, еще раз спасибо.
Скрипт работает. проверил под KDE4 на Debian Squeeze.
Проблема была в том, что сам конфиг копыта начинался не с блока [ ... ]
Может кто-нибудь помочь взял ваш скрипт, но в итоге вот такая ошибка
$ python ./getpass.py icq_number File "./getpass.py", line 7 print KStringHandler.obscure(cryptedpass.decode('utf-8')) ^ SyntaxError: invalid syntaxВ питоне я не разбираюсь, и в чем тут проблема совсем не понимаю.
^ стоит в реальности под буквой «r» в KStringHandler.