Talk:Password Recovering

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search

Говорят, это код на Python может восстанавливать тот пароль, что хранится config.xml клиента PSI.

Я бы прикрутил это к вебу. Либо надо сделать с помощью соответствующей утилки exe-шник, который будет выполнятся без установки интерпретатора.

Тогда еще подобную утилку для Tkabber надо найти и все будет нормально.

Только тогда надо прикрутить парсинг config.xml. Как я понял, оттуда нам нужен хеш и JID.

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

Источник http://docs.google.com/Doc?id=dd4b849c_53cbd863