Ярлыки

Memories ( 25 ) Unix ( 14 ) FreeBSD ( 8 ) www ( 4 ) Scripts ( 3 ) GEOM ( 2 ) PART ( 2 ) smtp ( 2 ) Cacti ( 1 ) Jabber ( 1 ) KVM ( 1 ) Kohana ( 1 ) RAID ( 1 ) Sip ( 1 ) Ubuntu ( 1 ) Zyxel ( 1 ) nginx ( 1 ) php-fpm ( 1 ) portwfd ( 1 ) rewrite ( 1 ) security ( 1 )

Поиск по этому блогу

четверг, 7 апреля 2011 г.

Восстанавливаем забытый jabber пароль в клиенте PSI

Скрипт под катом


#!/usr/bin/python
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("00420000040000005400001c","jid@jabber.ru")

Комментариев нет :

Отправить комментарий