НавигацияВход для пользователейОблачкоПоследние комментарии
|
psi-0.10![]() Мы часто вводим пароль в программу и через год забываем напрочь, о том какие секретные символы образовывали пароль. Иногда для восстановления пароля достаточно использовать программу анализа трафика, иногда написать письмо в службу поддержки. Но есть другой более простой вариант: восстановить пароль из конфигурационного файла программы. Вот скрипт на питоне позволяющий восстановить пароль:По ссылке на странице автора http://docs.google.com/Doc?id=dd4b849c_53cbd863 Далее в этом документе.
def hexChar2int(c):
if (c >= 'A' and c <= 'F'):
return ord(c) - ord('A') + 10
elif(c >= 'a' and c <= 'f'):
return ord(c) - ord('a') + 10
elif(c >= '0' and c <= '9'):
return ord(c) - ord('0')
return 0
def decodePassword(password,key):
result=""
n1=0
n2=0
if(len(key) == 0):
return password
n2=0
for n1 in range( 0, len(password), 4):
x = 0
if(n1 + 4 > len(password)):
break
x += hexChar2int(password[n1])*4096
x += hexChar2int(password[n1+1])*256
x += hexChar2int(password[n1+2])*16
x += hexChar2int(password[n1+3])
c=x ^ ord(key[n2])
n2+=1
result += chr(c)
if(n2 >= len(key)):
n2 = 0
return result
print decodePassword("001101010101011","axet@jabber.ru")
Опубликовано axet@jabber.ru в сб, 2007-04-07 17:34. categories [ ]
|
А что нужно
А что нужно сделать простому пользователю, чтобы этот скрипт запустить?
- Наличие Python. -
- Наличие Python.
- Возможо небольшая правка отступов, так как форматирование на вебе не саоме хорошее.
- И строчка запуска print decodePassword("001101010101011","axet@jabber.ru")
Если вы все
Если вы все правильно сделаете то получите следующий вывод:
c:\Temp>b.py
Traceback (most recent call last):
File "c:\Temp\b.py", line 34, in
print decodePassword("001101010101011","axet@jabber.ru")
File "c:\Temp\b.py", line 29, in decodePassword
result += chr(c)
ValueError: chr() arg not in range(256)
А если, будите использовать правильный ввод, то на экране появится ваш пароль.
Кстати, этож
Кстати, этож ваш скрипт, да?
да
да
А зачем такие прибамбасы???
Есть тут один метод... Заложен разработчиками jabber.
Для смены пароля нужно, находясь в “онлайн” (выбранный аккаунт имеет статус, отличный от “оффлайн”), сделать Service Discovery своего сервера и выбрать Register, в поле username ввести имя текущего аккаунта (без суффикса @domain.com), в поле password - желаемый пароль. Готово!!! =)
Примечание:
Новый пароль будет использоваться уже при следующем соединении с данным jabber-сервером.
to lisiki:
:-* вы конечно молодцы, но зачем так человека мучить? (а также тех, кто читает RSS с сайта и выпадает в осадок)
А?:) Мы не
А?:) Мы не разработчики джаббера! Метод не делали.
А также и
А также и другая полезная информация доступна здесь http://bombus-im.org/wiki/bombus_faq ;)
Без питона:
Без питона: http://blogmal.42.org/rev-eng/psi-password.story
На случай если ссылка помрёт:
How to recover your jabber password from PSI.
1. Search for your config.xml
2. Extract the jid and password part from within your account group
3. Decrypt by interpreting the password as hex 16bit-unicode, and XORing it to the jid.
If you have only Ascii characters in your password, you can try this line of perl:
perl -le '($jid,$pw)=@ARGV;$pw=~s/..(..)/chr hex$1/ge; print substr($pw^$jid,0,length$pw)'
000100020003007e
перл есть у всех.
P.S. Страно тут с форматированием на этом сайте...
где перл?
странно... перла не нашёл на своей машине...
А дельфей? ;)
А дельфей? ;)
Сразу видно,
Сразу видно, что не Джедай.
Пароль к учётной записи в Psi
Решил не создавать отдельную тему. Вопрос то в общем-то пустяковый...
Подскажите пожалуйста, возможно ли, чтобы Psi_0.10 не запоминал пароль? Поиск нифига не рулит...
В настройках
В настройках аккаунта просто не заполняйте поле Password:
В настройках...
А как же логиниться без пароля? о_О
При коннекте Psi
При коннекте Psi спросит пароль :)
Действительно...
Действительно...=)
Это прекрасно, чесс слово!(с)знаменитый профессор =)))
Пароль стёр, теперь враг не пройдёт х_Х Спасибо.
скрипты - скриптами, но обычным юзеверям...
....но обычных юзверей все эти скрипты... мягко говоря пугают)... посему чиркнул быстренько прожку для восстановления на С-ях (win32 only)
слить можно оттуда:
http://e-jonie.narod.ru/src/psipassrecover/psiPassRecover.rar(1 206 byte)исходники:
http://e-jonie.narod.ru/src/psipassrecover/src.rar(3 773 byte)использование:
Добавили
Добавили скрипт прямо в тушку текста для сохранности.
__________________
Пресс-служба J.ru.
Вариант на php
Мне было быстрее почитать исходники Psi и перевести на то, что знаю. Вот, ловите:
<?php
function decodePassword($pass, $key) {
if(strlen($key) == 0)
return pass;
$result = '';
for($n1 = 0, $n2 = 0; $n1 < strlen($pass); $n1 += 4) {
$x = 0;
if($n1 + 4 > strlen($pass))
break;
$x += hexdec($pass[$n1])*4096;
$x += hexdec($pass[$n1+1])*256;
$x += hexdec($pass[$n1+2])*16;
$x += hexdec($pass[$n1+3]);
$c = chr($x ^ ord($key[$n2++]));
$result .= $c;
if($n2 >= strlen($key))
$n2 = 0;
}
return $result;
}
echo decodePassword('001101010101011', 'axet@jabber.ru') . "\n";
?>
А можете помочь
А можете помочь с обратной задачей - есть JID и пароль, нужно получить хэш для автоматического создания профиля пользователя.
Нивапрос!
<?php
function encodePassword($pass, $key) {
if(strlen($key) == 0)
return $pass;
$result = '';
for($n1 = 0, $n2 = 0; $n1 < strlen($pass); ++$n1) {
$x = ord($pass[$n1]) ^ ord($key[$n2++]);
$hex = sprintf("%04x", $x);
$result .= $hex;
if($n2 > strlen($key))
$n2 = 0;
}
return $result;
}
echo encodePassword('pyd', 'axet@jabber.ru') . "\n";
?>